5

我正在为基本的 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);
}
4

2 回答 2

9

setPreferredSize 并不总是有效,此外,强烈建议您使用内置的布局管理器来处理任何大小问题。

尝试设置文本区域的列和行:

new JTextArea(5, 10);
于 2013-09-12T14:45:45.253 回答
2

PreferredSize 就是它所说的:首选尺寸。边框布局决定了实际大小(考虑到首选大小)。

请参阅:http ://docs.oracle.com/javase/tutorial/uiswing/layout/border.html

考虑其他布局以获得所需的尺寸。EG flowLayout:http ://docs.oracle.com/javase/tutorial/uiswing/layout/flow.html

于 2013-09-12T14:54:55.117 回答