2

開発中のメンバーシッププログラムの4つのボタンから2x2グリッドを作成しようとしています。私が抱えている問題は、私が何をしているかに関係なく、1x4グリッドとして表示されることです。コードは以下の通りです。

    private void buildStartupPanel()
{
    startup = new JPanel();
    startup.setLayout(new GridLayout(2,2));
    addMember = new JButton ("Add a new member");
    removeMember = new JButton ("remove Member");
    reviewMember = new JButton ("Review a Member");
    reviewAll = new JButton ("Review All Members");
    startup.add(addMember);
    startup.add(removeMember);
    startup.add(reviewMember);
    startup.add(reviewAll);
    addMember.addActionListener(this);
    removeMember.addActionListener(this);
    reviewMember.addActionListener(this);
    reviewAll.addActionListener(this);
}

結果を出力すると、次のように表示されます。

新しいメンバーを追加する

メンバーを削除

メンバーを確認する

すべてのメンバーを確認する

それ以外の

新しいメンバーを追加するメンバーを削除する

メンバーを確認するすべてのメンバーを確認する

また、誰かが私が各ボタンの間にスペースを置くのを手伝ってくれるなら、それは素晴らしいことです!

4

2 に答える 2

4

int間隔のコンストラクターの3番目と4番目を使用します。それ以外の場合は、ここで問題なく動作するようです。

スタートアップペイン

import java.awt.GridLayout;
import javax.swing.*;

public class StartupPanel {

    private JComponent getStartupPanel()
    {
        JPanel startup = new JPanel();
        startup.setLayout(new GridLayout(2,2,50,5));
        JButton addMember = new JButton("Add a new member");
        JButton removeMember = new JButton("remove Member");
        JButton reviewMember = new JButton("Review a Member");
        JButton reviewAll = new JButton("Review All Members");
        startup.add(addMember);
        startup.add(removeMember);
        startup.add(reviewMember);
        startup.add(reviewAll);

        return startup;
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                StartupPanel sp = new StartupPanel();
                JOptionPane.showMessageDialog(null, sp.getStartupPanel());
            }
        });
    }
}
于 2012-06-04T01:48:26.463 に答える
2

回答ありがとうございます!! コードに追加していたのは2番目のパネルで、スペルが間違っていて(うわー)、すべてが捨てられていたことがわかりました。それが完全なSSCCEを投稿することの重要性だと思います。少なくとも私はスペーシングの方法を学びました!皆さんありがとう!

于 2012-06-04T22:56:56.037 に答える