Изменение размера кнопки при изменении текстовой метки - PullRequest
1 голос
/ 16 июня 2011

Я довольно новичок в java GUI и использую netbeans, чтобы выручить меня.

Я настроил jButton таким образом, чтобы при нажатии его метка менялась. Моя проблема в том, что размер кнопки отказывается оставаться фиксированным, несмотря на установку максимального и минимального размера, а также настройку метода предпочитаемого размера. Нужно ли менять свой макет? Должен ли я пройти и разместить каждую кнопку на панели или есть более простой способ?

Я чувствую, что это легко исправить, но я занимаюсь этим уже больше часа. Буду признателен за любые идеи. Спасибо

Ответы [ 2 ]

3 голосов
/ 16 июня 2011
  1. Если вы новичок в Swing, не используйте конструктор графического интерфейса, поскольку вы столкнетесь с такими проблемами, как эта.
  2. Похоже, ваш макет предотвращает изменение размера. Убедитесь, что вы используете правильный Layout Manager для вашего дизайна. Дважды проверьте все ограничения, которые вы установили для макета. Вы можете поэкспериментировать с другим менеджером компоновки, таким как FlowLayout, чтобы убедиться, что ваши вызовы setPreferredSize () работают правильно и т. Д.
1 голос
/ 16 июня 2011

Есть несколько способов справиться с этим:

  1. Чистым и простым способом было бы создать значки изображений для различных кнопок , делая их одинакового размера. Это позволяет вам полностью контролировать, как они будут выглядеть.

  2. Быстрый и грязный способ сделать это - добавить пробелы, пока кнопки не станут примерно одинакового размера. Это не будет идеально, потому что шрифты, которые появляются на JButons, обычно не имеют фиксированной ширины.

  3. «Правильный» способ Swing состоит в том, чтобы использовать пользовательский макет. Например, если вы используете GridBagLayout для упорядочения ваших компонентов и установите для параметра «weightx» и «weightty» для JButton значение 1.0, то он займет столько места, сколько возможно, что будет иметь тот же размер.

...