JButton в нижней части окна - PullRequest
0 голосов
/ 25 января 2012

Я возвращаюсь к свингу после того, как некоторое время не делалКакой лучший способ сделать кнопку фиксированного размера в центре, внизу моего окна?Если я использую Borderlayout.south, это делает кнопку слишком широкой.Я не могу вспомнить трюк

Ответы [ 2 ]

3 голосов
/ 26 января 2012

Обычно есть два способа справиться с этим.

  • Вложенность, т.е. Создайте панель с макетом границы. Создайте еще одну панель с макетом потока, чтобы добавить свою кнопку. Поместите вторую панель на юг от первой панели
  • Используйте более сложный макет, такой как GridBagLayout или MiG Layout
2 голосов
/ 26 января 2012

Изучите использование MigLayout .Использование Swing невероятно удобно.

  int buttonWidth = 100;
  int buttonHeight = 50;
  button.setPreferredSize(new Dimension(buttonWidth, buttonHeight));
  this.setLayout(new MigLayout("insets 0"));
  this.add(button, "pos 50%-" + buttonWidth/2 + " 100%-" + buttonHeight);

Возможно, есть более простой способ с менеджером компоновки ядра или даже более простой способ с MigLayout, но я бы сначала подошел к нему.*

Другой альтернативой будет использование нулевого макета и setBounds всякий раз, когда изменяется размер родительской панели.Большинство программистов на Swing не советуют использовать пустой макет, в этом случае вы можете посмотреть на BoxLayout.Это зависит только от вас, но я считаю MigLayout необходимым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...