我想在我的 swing 应用程序中创建三个 JTextArea
。
每个 JTextArea
都有不同的大小。
JTextArea
应有 8 列
我最初的问题是:
每当我输入内容时,JTextArea
都会不断调整其宽度。
此问题已通过 JScrollPane
、setLineWrap(true)
和 setWrapStyleWord(true)
修复。
这就是我的问题。
每当我将 setLineWrap()
添加到 JTextArea
时,JTextArea
都会调整大小。
我的第一个和第二个 JTextArea
已调整为 12 列。
我搜索并找到了一些解决方案,但他们使用 MigLayout。
有没有办法在 JTextArea
中添加单词和换行而不调整其大小(当然,不使用 MigLayout)?
设置 JTextArea
的列自动换行的最简单方法是什么?
最佳答案
What's the easiest way to set the columns of JTextArea with word and line wrap?
您可以使用如下代码创建 JTextArea:
JTextArea textArea = new JTextArea(5, 50);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
JScrollPane scrollPane = new JScrollPane( textArea );
JPanel panel = new JPanel();
panel.add(scrollPane);
frame.add(panel, BorderLayout.PAGE_START);
默认情况下,JPanel 使用 FlowLayout,它尊重添加到其中的任何组件的大小。 BorderLayout.PAGE_START 将尊重添加到其中的任何组件的高度。
滚动条将根据需要显示添加到文本区域的文本。因此,关键是使用满足您要求的布局管理器(或布局管理器的组合)。
关于java - 使用 lineWrap 时调整 JTextArea 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33198303/