-2

指定されたスペースを JPane で埋めようとしていますが、うまくいきません。このコードは説明的なはずです...

    JPanel memWindow = new JPanel();
    memWindow.setLayout(new GridLayout(1, 4));
    memWindow.add(memField = new JTextField(10));
    memWindow.add(memView = new JButton("VM"));
    memWindow.add(memAdd = new JButton("M+"));
    memWindow.add(memSub = new JButton("M-"));

    JPanel memWindow2 = new JPanel();
    memWindow.setLayout(new GridLayout(1, 4));
    memWindow.add(mem2Field = new JTextField(10));
    memWindow.add(mem2View = new JButton("VM"));
    memWindow.add(mem2Add = new JButton("M+"));
    memWindow.add(mem2Sub = new JButton("M-"));

    JPanel memWindows = new JPanel();
    memWindows.setLayout(new GridLayout(2, 1));
    memWindows.add(memWindow, BorderLayout.SOUTH);
    memWindows.add(memWindow2, BorderLayout.NORTH);

    add(displayWindow, BorderLayout.NORTH);
    add(memWindows);
    add(inputWindow, BorderLayout.SOUTH);

これは私が得るGUIです...

ここに画像の説明を入力 .

4

1 に答える 1

2

コードの何が問題になっていますか?

1.最初に次のコードを説明していただけますか?

JPanel memWindow2 = new JPanel();
memWindow.setLayout(new GridLayout(1, 4));
memWindow.add(mem2Field = new JTextField(10));
memWindow.add(mem2View = new JButton("VM"));
memWindow.add(mem2Add = new JButton("M+"));
memWindow.add(mem2Sub = new JButton("M-"));

私はそれが次のようであるべきだと思います:

JPanel memWindow2 = new JPanel();
memWindow2.setLayout(new GridLayout(1, 4));
memWindow2.add(mem2Field = new JTextField(10));
memWindow2.add(mem2View = new JButton("VM"));
memWindow2.add(mem2Add = new JButton("M+"));
memWindow2.add(mem2Sub = new JButton("M-"));

2.BorderLayout.XXX を使用してコンポーネントの位置を指定する場合は、次のように BorderLayout を使用する必要があります。

JPanel memWindows = new JPanel();
memWindows.setLayout(new BorderLayout());
memWindows.add(memWindow, BorderLayout.SOUTH);
memWindows.add(memWindow2, BorderLayout.NORTH);
于 2013-07-14T05:00:37.817 に答える