[英]Toggling text wrap in a JTextpane
How would I go about toggling text wrap on a JTextpane
? 我将如何在JTextpane
上切换文本换JTextpane
?
public JFrame mainjFrame = new JFrame("Text Editor");
public JTextPane mainJTextPane = new JTextPane();
public JScrollPane mainJScrollPane = new JScrollPane(mainJTextPane);
mainjFrame.add(mainJScrollPane);
See No Wrap Text Pane . 请参阅无包装文本窗格 。
Edit: 编辑:
Well, if you want to toggle the behaviour, then you would also need to toggle the getScrollableTracksViewportWidth() value. 好吧,如果你想切换行为,那么你还需要切换getScrollableTracksViewportWidth()值。 See Scrollable Panel . 请参阅可滚动面板 。 You should be able to toggle between FIT and STRETCH. 您应该能够在FIT和STRETCH之间切换。
package test;
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
public class TestVisual extends JFrame {
private boolean wrapped;
private JButton toggleButton = null;
private JTextPane textPane = null;
private JPanel noWrapPanel = null;
private JScrollPane scrollPane = null;
public TestVisual() {
super();
init();
}
public void init() {
this.setSize(300, 200);
this.setLayout(new BorderLayout());
wrapped = false;
textPane = new JTextPane();
noWrapPanel = new JPanel( new BorderLayout() );
noWrapPanel.add( textPane );
scrollPane = new JScrollPane( noWrapPanel );
toggleButton = new JButton("wrap");
toggleButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if (wrapped == true){
scrollPane.setViewportView(noWrapPanel);
noWrapPanel.add(textPane);
toggleButton.setText("wrap");
wrapped = false;
}else {
scrollPane.setViewportView(textPane);
toggleButton.setText("unWrap");
wrapped = true;
}
}
});
this.add(scrollPane, BorderLayout.CENTER);
this.add(toggleButton, BorderLayout.NORTH);
}
}
I don't know any other way for what you are looking for.. 我不知道你正在寻找什么其他方式..
But this is working well. 但这很好用。
( Based on camickr's answer.. +1 ) (基于camickr的回答.. +1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.