JTextArea自动调整高度



所有组件宽度都相同。我有一个JPanel(方框布局;PAGE_EXIS)。我在上面添加了一个Box.filler,它有以下规格:

最小尺寸(高度)-1

首选尺寸(高度)JPanel高度

最大尺寸(高度)JPanel高度

我添加了边界为7像素厚的JTextArea(仅在下面)。

当我输入文本时,JTextArea会展开,但还不够,几行之后文本就会越界(你再也看不到它了)。

我可以确定存在多少行文本(使用FontMetrics),并可以相应地强制setSize,但没有什么真正的改变。打印出JTextArea.getHeight()确实表明大小按照我的条件发生了变化,但从视觉上看,它保持不变。我还没有忘记验证和重新喷漆。

如何强制JTextArea调整到特定大小?

您也可以让JTextArea包装单词?:

JTextArea.setWrapStyleWord(true);

您也可以尝试使用setRows(int rows),然后使用revalidate()repaint() 设置行数

您可以将JTextArea放入JScrollPane中,以保持额外的行可见,而无需更改JTextArea在屏幕上所需的空间。

有关详细信息,请参阅有关如何使用滚动窗格的Oracle教程。

相关内容

  • 没有找到相关文章

最新更新