java – JTextArea自动换行调整大小
发布时间:2020-05-24 14:38:47 所属栏目:Java 来源:互联网
导读:所以,我在JPanel(BoxLayout)上有JTextArea.我也有Box填充器填充JPanel的其余部分.我需要我的JTextArea以单行高度开始(我可以管理它),并在需要时扩展和减少. 自动换行已启用,我只需要在添加/删除新行时调整它的高度. 我尝试使用documentListener和getLineCount
|
所以,我在JPanel(BoxLayout)上有JTextArea.我也有Box填充器填充JPanel的其余部分.我需要我的JTextArea以单行高度开始(我可以管理它),并在需要时扩展和减少. 自动换行已启用,我只需要在添加/删除新行时调整它的高度. 我尝试使用documentListener和getLineCount(),但它无法识别wordwrap-newlines. 如果可能的话,我想避免弄乱字体. 而且,没有滚动面板. JTextArea必须始终完全显示. 解决方法JTextArea具有相当特殊的副作用,在适当的条件下,它可以自行增长.当我试图设置一个简单的双行文本编辑器时(每行限制字符长度,最多两行),我偶然偶然发现了这个…基本上,给定合适的布局管理器,这个组件可以自己增长 – 它实际上是有道理的,但让我感到惊讶…… 此外,您可能希望使用ComponentListener来监视组件何时更改大小,如果这是您感兴趣的… public class TestTextArea extends JFrame {
public TestTextArea() {
setLayout(new GridBagLayout());
JTextArea textArea = new JTextArea();
textArea.setColumns(10);
textArea.setRows(1);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
add(textArea);
setSize(200,200);
setLocationRelativeTo(null);
setDefaultCloSEOperation(EXIT_ON_CLOSE);
setVisible(true);
textArea.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent ce) {
System.out.println("I've changed size");
}
});
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
new TestTextArea();
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
