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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> BoxLayout, how? 
:(
    Опции темы
PashaOvechkin
Дата 6.2.2008, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

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



Привет!

В приложении есть картинка простейшей панели на свинге.

вот код : 

Код


            JPanel messagesPanel = new JPanel();
            messagesPanel.setLayout(new BoxLayout(messagesPanel, BoxLayout.Y_AXIS));
            messagesPanel.setBorder(BorderFactory.createTitledBorder("Messages:"));
            
            
            for (String i : this.validationBean.getMessages()){
               messagesPanel.add(new JLabel ("<html><b>" + i + "</b></html>")); 
            }



Вопррос, понель в рамке, а леиблы размещены в притирку с рамкой, в притирку к левому боку - как сделать отступ? (спеисы даобавлять  - не прокатывает)
 label.setAlignmentX(Component.CENTER_ALIGNMENT);    -  не то что надо... 

Как видим панели рамка слишком большая... Как можно сделать так, чтобы её размер по оси Y был ровно такой, что бы помещались все леиблы - не больше и не меньше.

Спасибо!

Это сообщение отредактировал(а) PashaOvechkin - 6.2.2008, 18:52

Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  picture.JPG 17,49 Kb
PM MAIL Skype   Вверх
fixxer
Дата 6.2.2008, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Можно добавить еще пустую рамку.

BorderFactory.createCompoundBorder(BorderFactory.createTitledBorder("Messages:"), BorderFactory.createEmptyBorder(x, y, a, b))


--------------------
user posted image
PM MAIL ICQ   Вверх
PashaOvechkin
Дата 7.2.2008, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

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



Хорошая идея, завтра попробую smile 

А что нащёт сжимания рамки  в зависимости от числа леиблов в ней?
PM MAIL Skype   Вверх
fixxer
Дата 7.2.2008, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



на вскидку, воткни свой Box в еще такой же Box

Это сообщение отредактировал(а) fixxer - 7.2.2008, 00:28


--------------------
user posted image
PM MAIL ICQ   Вверх
PashaOvechkin
Дата 7.2.2008, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

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



и чё будет? smile
PM MAIL Skype   Вверх
fixxer
Дата 7.2.2008, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



а ты попробуй. smile если сразу не поможет, распоркой снизу подоткни


--------------------
user posted image
PM MAIL ICQ   Вверх
PashaOvechkin
Дата 7.2.2008, 00:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

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



завтра попробую - отпишусь ;) 
Про распорку не понял....
PM MAIL Skype   Вверх
PashaOvechkin
Дата 7.2.2008, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

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



Да, пустая рамка помогла классно!  smile 
Но вот бокс в боксе... smile Как я и думал решить ето - > "А что нащёт сжимания рамки  в зависимости от числа леиблов в ней? "
не помогло. 

PM MAIL Skype   Вверх
PashaOvechkin
Дата 7.2.2008, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

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



А например как можно центрировать строку в Боксе с помощю ява хтмл не подскажте?
PM MAIL Skype   Вверх
fixxer
Дата 7.2.2008, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну положи бокс на север в BorderLayout

Код

public static void main(String[] argc) {
        String[] strings = {"One", "Two", "Three", "Four"};
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Box innerBox = Box.createVerticalBox();
        innerBox.setBorder(BorderFactory.createCompoundBorder(
                BorderFactory.createTitledBorder("Title"),
                BorderFactory.createEmptyBorder(5, 5, 5, 5)
        ));
        for (String s : strings) {
            innerBox.add(new JLabel(s));
        }
        f.getContentPane().add(innerBox, BorderLayout.NORTH);
        f.setBounds(100, 100, 320, 240);
        f.setVisible(true);
}



--------------------
user posted image
PM MAIL ICQ   Вверх
PashaOvechkin
Дата 7.2.2008, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

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



Не знал о класе Бокс до етого... Ето что то типо понели с леиаутом БоксЛеиаут, да?

Предложенный вариант не подходит, потому что мой Бокс находится не во фреиме, а в Панели 

Код


        JPanel container = new JPanel();
        container.setLayout(new GridBagLayout());
        GridBagConstraints c = new GridBagConstraints();
        c.insets = new Insets(0, 10, 5, 10);
        c.weightx = 1.0; c.weighty = 0.5;
        c.anchor = GridBagConstraints.WEST;
        c.fill = GridBagConstraints.HORIZONTAL;
        int gridY = 0;

        c.gridx = 0; c.gridy = gridY++;


а у панели метода 
Код

f.getContentPane().add(innerBox, BorderLayout.NORTH);


нет :|


Это сообщение отредактировал(а) PashaOvechkin - 7.2.2008, 13:06
PM MAIL Skype   Вверх
fixxer
Дата 7.2.2008, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А кто тебе мешает воткнуть в панель BorderLayout?


--------------------
user posted image
PM MAIL ICQ   Вверх
PashaOvechkin
Дата 7.2.2008, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

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



Идея всему такая 
Нужеб фрейм, с фиксированной шириной, 
который состоял бы из нескольких Боксов
один под одним, и етот фреим, в зависимости от содержимого Боксов
должен менять свою высоту...
Всё.
Что мешает? Слабо свинг знаю... Особеннно леиауты
Продемонстрируешь?

PM MAIL Skype   Вверх
AntonSaburov
Дата 7.2.2008, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0513 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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