我想在我的swing应用程序中创建三个JTextArea

每个JTextArea具有不同的大小。



第一个JTextArea应具有8列


第二个应该只有一列


最后一列应该有50列。

我最初的问题是:

每当输入内容时,JTextArea都会继续调整其宽度。

此问题已由JScrollPanesetLineWrap(true)setWrapStyleWord(true)修复。

所以这是我的问题。

每当我将setLineWrap()添加到JTextArea时,都会调整JTextArea的大小。

我的第一和第二个JTextArea已调整为12列。

我搜索并找到了一些解决方案,但他们使用了MigLayout。

有什么方法可以在JTextArea中添加单词和换行符而无需调整其大小(当然,也可以不使用MigLayout)?

用单词和换行符设置JTextArea列的最简单方法是什么?

最佳答案

用单词和换行符设置JTextArea列的最简单方法是什么?


使用以下代码创建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 - 使用换行时调整TextArea的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33198303/

10-15 10:42