Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

size of button in java

enter image description here

I want to control size of button , I use Method setBounds But there is no change and this my code

       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 

this main cod

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 to add components

   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);
   }
   }
   }
like image 673
Seetah Avatar asked Aug 31 '26 17:08

Seetah


2 Answers

The LayoutManager overrides the bounds you set many times, and this is the case with GridLayout.

I suggest you go through the layout managers tutorial.

like image 199
MByD Avatar answered Sep 02 '26 05:09

MByD


Try using the setPreferredSize() method on the button, although the layout manager has the final word on what size is used in the end.

like image 23
Óscar López Avatar answered Sep 02 '26 07:09

Óscar López