Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выравнивание добавляемого компонента в JToolBar 
V
    Опции темы
x8m6
Дата 19.6.2010, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 11.12.2008

Репутация: нет
Всего: нет



Есть панель инструментов (JToolBar) с уже добавленными в нее кнопками, все они выровнены по левому краю. Мне нужно добавить кнопку, и выровнять ее (только ее) по правому краю. Как это сделать? Пробовал добавить сначала HorizontalGlue а потом свою кнопку, (у кнопки предварительно установил setAligenment(JComponent.Right)) но все равно не получается.
PM MAIL   Вверх
jk1
Дата 19.6.2010, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 21
Всего: 75



Код

JToolBar bar = new JToolBar();
bar.setLayout(new BoxLayout(bar,BoxLayout.LINE_AXIS));
bar.add(new JButton("left"));
bar.add(new JButton("left"));
bar.add(new JButton("left"));
bar.add(Box.createHorizontalGlue());
bar.add(new JButton("right"));



--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
x8m6
Дата 19.6.2010, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 11.12.2008

Репутация: нет
Всего: нет



Хорошо, а если вместо одной кнопки текстовое поле:
Код

JToolBar bar = new JToolBar();
bar.setLayout(new BoxLayout(bar,BoxLayout.LINE_AXIS));
bar.add(new JButton("left"));
bar.add(new JTextField(" "));
bar.add(new JButton("left"));
bar.add(Box.createHorizontalGlue());
bar.add(new JButton("right"));


То при добавлении кнопки "right" (или расширении окна) растягивается именно текстовое поле а не подушка. Почему?
PM MAIL   Вверх
jk1
Дата 19.6.2010, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 21
Всего: 75



Цитата

Почему? 

Не могу сказать наверняка. Скорее всего Layout Manager считает что лучше растягивать текстовое поле, чем glue.
Исправить это очень просто:
Код

textField.setMaximumSize(textField.getPreferredSize());



--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
x8m6
Дата 5.7.2010, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 11.12.2008

Репутация: нет
Всего: нет



jk1, спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0407 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.