我正在写一个基本的GUI代码。我需要一个文本区域。但我不能使文字区在我想要的大小。我使用setPreferredSize
方法来设置文本区域的尺寸。但这并不奏效。我也尝试了setSize
方法,但也没有工作。这是我写的代码。
private void textArea() {
setTitle("TextArea");
setSize(700, 500);
setLayout(new BorderLayout());
JTextArea textArea = new JTextArea();
textArea.setPreferredSize(new Dimension(100,100));
System.out.println(textArea.getSize());
textArea.setBackground(Color.GREEN);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(false);
add(textArea,BorderLayout.CENTER);
}
2条答案
按热度按时间n9vozmp41#
setPreferredSize并不总是有效,另外,强烈建议您使用内置的布局管理器来处理任何大小调整问题。
尝试设置文本区域中的列和行:
eeq64g8w2#
PreferredSize就是它所说的:优选的尺寸。边框布局决定实际大小(考虑首选大小)。
参见:http://docs.oracle.com/javase/tutorial/uiswing/layout/border.html
考虑其他布局以获得所需的尺寸。例如,流程布局:http://docs.oracle.com/javase/tutorial/uiswing/layout/flow.html