Avi*_*ohn 1 java swing jtextarea
我在JPanel中有一个JTextArea.JPanel设置为默认的FlowLayout.
我通过构造函数为JTextArea分配了一个大小:new JTextArea(50,50).
但是,一旦超出某个范围,不仅会忽略我指定的大小(例如,如果我将大小设置为大于40*40的值,程序就会开始忽略我说的内容,而是将JTextArea设置为某些任意大小) - 大小也随着我输入而改变.如果我在其中键入的内容超过它可以包含的内容,则JTextArea会自行调整大小.
我做了:
textArea.setLineWrap(true);
没有解决这个问题.
如何为JTextArea设置固定大小?
如果你想有固定的大小,你必须把它放在像 JScrollPane 这样的盒子里:
JScrollPane jsp = new JScrollPane(textarea);
Run Code Online (Sandbox Code Playgroud)
如果您希望文本区域容纳最大字母数:
textarea.setColumns(100);
Run Code Online (Sandbox Code Playgroud)
如果将其包含在可能解决问题的JScrollPane中:
JTextArea textArea = new JTextArea(50, 50);
JScrollPane scrollPane = new JScrollPane( textArea );
Run Code Online (Sandbox Code Playgroud)
您可能还需要更改布局,因为默认情况下我认为它会使用BorderLayout扩展您的组件.或者PAGE_START像这样把它放进去:
add(new JScrollPane(new JTextArea(50, 50)), BorderLayout.PAGE_START);
Run Code Online (Sandbox Code Playgroud)