3

ここに画像の説明を入力

ボタンのサイズを制御したいので、メソッドsetBoundsを使用しますが、変更はなく、これが私のコードです

       public class levels extends JFrame implements ActionListener{

 //Variables 
private static JLabel chooseLevel;
private static JButton easyPuzzle;
private static JButton mediumPuzzle;
private static JButton hardPuzzle;
 // End Of Variables 

このメインタラ

public static void main(String[]args){

levels level = new levels();
level.setBounds(400, 190, 450, 450);
level.setVisible(true); // frame is visible
level.setResizable(false); // not Resizable frame 
level.setTitle("Puzzle Number : New Game");  // Title Of the frame

コンポーネントを追加するコンテナ

   Container cN = level.getContentPane(); //  Container to add components for farme 1
   GridLayout gN = new GridLayout(0,1,10,20); //object from GridLayout
   cN.setLayout(gN);

   levels.chooseLevel = new JLabel("              Choose a level :");
   levels.easyPuzzle = new JButton("Easy puzzle from ( 1 - to -15)");
   levels.mediumPuzzle = new JButton("Medium Puzzle from (1- to- 29)");
   levels.hardPuzzle = new JButton("Hard Puzzle from (1- to- 59)");
    //add components for frame
     cN.add(chooseLevel);
     cN.add(easyPuzzle);
     cN.add(mediumPuzzle);
     cN.add(hardPuzzle);
   }
   }
   }
4

3 に答える 3

6

LayoutManager設定した境界を何度もオーバーライドしますが、これは の場合GridLayoutです。

レイアウト マネージャーのチュートリアルをご覧になることをお勧めします。

于 2012-05-08T16:47:10.470 に答える
2

ボタンのメソッドを使用してみてくださいsetPreferredSize()。ただし、最終的に使用されるサイズについてはレイアウト マネージャーが決定します。

于 2012-05-08T16:50:09.953 に答える
1

私の理解では、GridLayout では、親コンポーネント内のコンポーネントのサイズを変更できません。別のレイアウトを使用して使用する

button.setPreferredSize(new Dimension(sizeX,sizeY));

また

button.setSize(new Dimension(sizeX,sizeY));

ここで、sizeX は幅、sizeY は高さです。

于 2012-05-08T16:55:29.463 に答える