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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SpringLayout и здравый смысл ? на простом примере покажу 
:(
    Опции темы
maslyak
Дата 5.7.2009, 04:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет всем, имеем минимально простой пример - окно и label.
Код

package springlayouttest;

import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Spring;
import javax.swing.SpringLayout;
import javax.swing.SwingUtilities;

public class Main implements Runnable {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Main());
    }

    public void run() {
        JFrame f = new JFrame();

        f.setSize(440, 440);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Container contentPane = f.getContentPane();
        SpringLayout layout = new SpringLayout();
        contentPane.setLayout(layout);

        JLabel label = new JLabel("test");
        Spring spring = Spring.constant(0, 100, 500);

        layout.putConstraint(SpringLayout.WEST, label, spring, SpringLayout.WEST, contentPane);
        //layout.putConstraint(SpringLayout.EAST, contentPane, spring, SpringLayout.EAST, contentPane);
        layout.putConstraint(SpringLayout.NORTH, label, spring, SpringLayout.NORTH, contentPane);
        layout.putConstraint(SpringLayout.SOUTH, contentPane, spring, SpringLayout.SOUTH, label);

        contentPane.add(label);
        f.setVisible(true);
    }
}


Вопросов много, запустите сразу этот код.
Почему при резайзе окошка по вертикали лейбл двигается и по вертикали и по горизонтали ?
В доках пишут, что последний параметр в putContraint является началом пружинки, а второй параметр является концом. Но от этого не легче, почему поведение меняется непредсказуемым образом, когда мы меняем начало и конец? В моем мире пружины растягиваются в обе стороны одинаково  smile 
Как вообще правильно понять, куда начало, а куда конец пихнуть  smile  smile 

По-моему надо было назвать этот менеджер RandomLayout.
PM MAIL   Вверх
COVD
Дата 5.7.2009, 04:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

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



Сейчас не помню точно, но там вроде два constraints надо - по вертикали и по горизонтали. У вас три - один явно лишний. Наверное, последний - там, где SOUTH.  
PM MAIL   Вверх
maslyak
Дата 5.7.2009, 04:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



да, но почему лишний ? разве нельзя с двух сторон пружинки поставить ?
PM MAIL   Вверх
COVD
Дата 5.7.2009, 05:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

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



Я могу рабочий пример найти, но обьяснить ассоциацию с пружиной - нет. Голову этим забивать имеет смысл если постоянно лэйаутами занимаетесь. Но тогда, возможно, у вас своя ассоциация родится, более удачная, чем пружина.  
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.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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