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 に答える