2012-03-16 6 views
0

Я использую Java Swing, и я разработал страницу формы с несколькими кнопками, такими как воспроизведение, пауза, остановка &. У них разные размеры, поэтому они кажутся плохими. Я хочу установить размер кнопок одинакового размера.Установите кнопки одинакового размера на форму

Как я могу это сделать?

ответ

2

Вы можете использовать setSize(Dimension d), где вы указываете размер каждой кнопки.

Или вы можете использовать различные схемы для вашего приложения - я, в основном с помощью GridLayout, который работает очень хорошо для меня - видеть tutorial

EDIT: Как уже упоминалось в комментариях: Лучше подход заключается в использовании некоторые менеджеры макетов обрабатывают размер для вас. Если вы задали размер кнопки явно с помощью команды выше, это может привести к тому, что она выглядит «не очень хорошо», если вы измените размер окна. Макет может сделать это для вас более красиво.

Кстати, если вы будете использовать

private JFrame application; 
application.pack(); 

перед показывая приложение к пользователю, он может «miracelously» вылечить все «не красивые» выглядящие кнопки и ручки

+0

+1 для 'GridLayout' - 1 (граничный -2) для 'setSize()'. Чистый результат - 0. –

+0

Попытка защитить себя, что я отвечаю на вопрос, это не хороший подход, не так ли? Фактически, я попытался решить ту же проблему, установив размеры, но потом выяснил, что макет лучше подходит. Вероятно, отредактируйте ответ немного ») –

+0

Редактирование - хороший старт, но еще недостаточно. Вызов' setSize() 'плохой, потому что 1) Если макет будет отмечать * любой * размер, это предпочтительный размер, скорее чем размер. 2) Выполнение правильных минимальных размеров (или размера или предпочтительного размера) для кнопки с несколькими размерами шрифтов и лиц на разных ОС с использованием разных PLAFS (и т. д.) - непростая задача. прилагает значительные усилия, чтобы рассчитать этот размер, нецелесообразно попробовать и угадать. –

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