2

JPanel があり、内部では次のように GridLayout を使用します。

    JPanel panel = new JPanel(new GridLayout(0, 1, 0, 0));

    JPanel p1 = new JPanel(new FlowLayout());
    JLabel label = new JLabel("SOMETHING");
    JTextField tf = new JTextField(30);

    JPanel p2 = new JPanel();

    JTextArea txt = new JTextArea(6, 30);
    JScrollPane sp = new JScrollPane(txt);

    p1.add(label);
    p1.add(tf);

    p2.add(sp);

    panel.add(p1);
    panel.add(p2);

残念ながら、JTextArea と上部要素の間のスペースが非常に大きい場合。JTextArea を表示するにはどうすればよいですか?

http://img20.imageshack.us/img20/1086/screenshot1412201213550.png

4

1 に答える 1

6

にトップ パネルを使用し、 にスクロール ペインをBorderLayout追加します。NORTHCENTER

以下のコードのスクリーンショット:

スクリーンショット

public static void main(String[] args) {

    JFrame frame = new JFrame("Test");

    frame.add(new JPanel(new FlowLayout()) {{
        add(new JLabel("something"));
        add(new JTextField(30));
    }}, BorderLayout.NORTH);

    frame.add(new JScrollPane(new JTextArea(6, 30)), BorderLayout.CENTER);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
}
于 2012-12-14T12:06:36.940 に答える