将JTextArea大小限制为其文本大小

JCt*_*trl 3 java swing jtextarea

我有一个固定大小(300 x 33)的JTextArea,启用了换行,我已添加到JPanel内部.每当在其中键入并经过最后一个可见行(在本例中为第二个)时,文本将继续在文本区域的视图之外,并被隐藏.

是否有限制在JTextArea内部输入的文本限制为文本区域的大小而不是它包含的字符数(使其依赖于不同字体的每个字符占用的不同空间)?

编辑:我忘了提到不修复JTextArea的大小并在构造函数中提供行号和列号会导致文本区域拉伸并填充持有它的JPanel.我相信这是因为面板的布局是BoxLayout.

Hov*_*els 7

您不应该修复JTextArea的大小.而是通过调用具有合适的列和行号参数的构造函数来初始化它,并将其放在JScrollPane中,因此如果文本增加,则不会丢失文本.