Не могу узнать размер стандартного JButton - PullRequest
0 голосов
/ 27 июля 2011

В одном окне я добавил JButton на панель в BorderLayout.В другом окне тем же способом я добавил JButton в одну из «ячеек» TableLayout.Первая кнопка имеет стандартный размер, а вторая - нет.Поэтому я пытался узнать размер первого, чтобы я мог установить такой же размер для другого.К сожалению, запуск этого кода:

nextButton = new JButton("NEXT");
System.out.println(nextButton.getWidth());
System.out.println(nextButton.getHeight());
nextButton.setSize(150, 100);
System.out.println(nextButton.getWidth());
System.out.println(nextButton.getHeight());

(пробовал на обеих кнопках) дал следующий вывод:

  • 0
  • 0
  • 150
  • 100

Более того, метод setSize вообще не имел видимого эффекта.Есть идеи, что здесь не так?

- РЕДАКТИРОВАТЬ -
метод revalidate () не работает

- РЕДАКТИРОВАТЬ 2 -
nextButton.setPreferredSize(new Dimension(150,100)); приводит к еще большему беспорядку: для обоих окон я получил все нули в результате операторов System.out.println, и в первом окне видимое изменение размера кнопки, но во втором ничего не изменилось.

Ответы [ 2 ]

3 голосов
/ 27 июля 2011

Итак, я пытался узнать размер первого, чтобы я мог установить такой же размер для другого

button2.setPreferredSize( button1.getPreferredSize() );
1 голос
/ 27 июля 2011

Попробуйте nextButton.setPreferredSize(new Dimension(150,100)).

...