Javaを使って簡単なゲームを作っています。JFrameを使用してゲームのメニューを作成しました。メニューボタン(開始、ハイスコア、指示、終了)を中央に配置するために使用するレイアウトについて混乱しています。私は次のようなアプローチを念頭に置いています。3列のグリッドレイアウトを作成し、中央の列にこの列の中央に配置されたボックスレイアウト(メニューボタンがある)を追加します。
このアプローチを使用する必要がありますか?そうでない場合は、解決策を教えてください。
Javaを使って簡単なゲームを作っています。JFrameを使用してゲームのメニューを作成しました。メニューボタン(開始、ハイスコア、指示、終了)を中央に配置するために使用するレイアウトについて混乱しています。私は次のようなアプローチを念頭に置いています。3列のグリッドレイアウトを作成し、中央の列にこの列の中央に配置されたボックスレイアウト(メニューボタンがある)を追加します。
このアプローチを使用する必要がありますか?そうでない場合は、解決策を教えてください。
JButton startButton = new JButton("Start");
JButton scoreButton = new JButton("High Score");
JButton instructButton = new JButton("Instructions");
JButton exitButton = new JButton("Exit");
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = java.awt.gbc.HORIZONTAL;
gbc.insets = new java.awt.Insets(2, 2, 2, 2);
gbc.gridx = 0;
gbc.gridy = 0;
getContentPane().add(startButton, gbc);
gbc.gridy = 1;
getContentPane().add(scoreButton, gbc);
gbc.gridy = 2;
getContentPane().add(instructButton, gbc);
gbc.gridy = 3;
getContentPane().add(exitButton, gbc);
Madprogrammerは正しいです、gridbaglayoutを使用してください。私自身、実際にはレイアウトマネージャーをいじくり回すのが面倒なので、EclipseSDK用のWindowBuilderを使用しています。グーグルでそれを検索します。WindowBuilderには双方向のコード生成があり(つまり、スイングコードを解析して、GUIで行うことから生成できます)、すべてのドラッグアンドドロップが可能です。