2012-05-08 3 views
3

enter image description hereразмера кнопки в Java

Я хочу контролировать размер кнопки, я использую метод 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); 
    } 
    } 
    } 

ответ

6

The LayoutManager перекрывает границы, заданные во много раз, и это в случае с GridLayout.

Предлагаю вам пройти через layout managers tutorial.

+0

AWWW избил меня! :) +1 – fireshadow52

+0

Да Я знаю это решение, но мой учитель не хочет Мне не нравится формировать кнопку, и я хочу свести ее к минимуму. – Seetah

+0

@Seetah расскажите своему учителю, что не использовать 'LayoutManagers' в реальной жизни - это ускоренный запуск. Эти вещи были изобретены по какой-то причине – Robin

2

Попробуйте использовать кнопку setPreferredSize() на кнопке, хотя менеджер компоновки имеет последнее слово о том, какой размер используется в конце.

+0

не работает: | спасибо вам так – Seetah

1

к моему пониманию, GridLayout не позволяет изменять размеры компонентов внутри родительского компонента. Используйте другой формат и использовать

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

или

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

, где SizeX является ширина и высота SizeY является.

Смежные вопросы