0

ボタンを JPanel の中央に配置する方法を考えていました。現在、ボタンは「mms」(背景画像として使用)の上にありますが、パネルの上端の中央にあります。このボタンを画像の中央に配置するにはどうすればよいですか?

//MainMenu setup
JPanel card2 = new JPanel();
card2.setLayout(new GridBagLayout());       
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.insets = new Insets(2,2,2,2);
gbc.anchor = GridBagConstraints.CENTER;
MainMenuScreen mms = new MainMenuScreen();
card2.add(mms, gbc);
mms.add(menuButton1, gbc);
4

1 に答える 1

1

デフォルトの制約を使用するだけです:

import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.text.*;

public class SSCCE extends JPanel
{
    public SSCCE()
    {
        setLayout( new GridBagLayout() );

        JButton button = new JButton("Centered");
        add(button, new GridBagConstraints());
    }

    private static void createAndShowUI()
    {
        JFrame frame = new JFrame("SSCCE");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add( new SSCCE() );
        frame.pack();
        frame.setLocationByPlatform( true );
        frame.setVisible( true );
    }

    public static void main(String[] args)
    {
        EventQueue.invokeLater(new Runnable()
        {
            public void run()
            {
                createAndShowUI();
            }
        });
    }
}

将来的には、あなたが試したことを正確に示すために、あなたの質問とともにSSCCEを投稿してください。

于 2013-03-16T19:40:43.177 に答える