0

以下のコードでは、gridbaglayout を使用して、すべてのボタンを 600 X 400 のフレーム サイズに 2 行で表示しています。以下のコードで setSize() または pack() をコメントアウトしても役に立ちませんでした。私の質問は、サイズが 600 X 400 のフレームを取得する方法です。フレームの下部には、アルファベットのボタンが付いたパネルがあります。手伝ってくれてありがとう。

import javax.swing.*;

import java.awt.GridBagConstraints;
import java.awt.GridLayout;
import java.awt.event.*;

public class HangmanGUI {


        public static void main(String[] args){

            new HangmanGUI();

        }
        //constructor for Hangman
        /**
         * Instantiates a new hangman gui.
         */
        public HangmanGUI() {

            JFrame myframe= new JFrame();
            JPanel myPanel = new JPanel();
            myPanel.setLayout(new GridLayout());
            GridBagConstraints gbc = new GridBagConstraints();


            myframe.setSize(600,400);
            int x =0; int y=5;

            for (char alphabet = 'A';alphabet<='Z';alphabet++){

                gbc.gridx=x;
                gbc.gridy=y;
                myPanel.add(new JButton(alphabet+""),gbc);
                x++;
                if (x>15){
                    y =6;x=0;
                }
            }

            myframe.add(myPanel);
            myframe.pack();
            myframe.setTitle("Hangman Game");
            myframe.setVisible(true);
            myframe.setLocationRelativeTo(null);

            myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        }

}
4

3 に答える 3