Змінюй хід війни! Допомагай ЗСУ!

проблемка с setLayout(null) в java

  • Автор теми Автор теми Sasha9132
  • Дата створення Дата створення
Статус: Офлайн
Реєстрація: 26.09.2008
Повідом.: 101
проблемка с setLayout(null) в java

Привет всем.
Народ кто может объяснить в чем дело.
Есть класс наследник JFrame и есть KeyListener в цикле у которого выполняются различные передвижения объекта по JFramу. Начальные положения разные и установка в середину экрана или использование какого либо менеджера размещения не актуальна. Вот именно по этому устанавливается setLayout со значением null. Но после установки на фрейме перестают вообще отображаться объекты. Как с этим бороться?
 
Там какой-то по-умолчанию уже стоит, зачем же его на null менять то?!

⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.

⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.

точное позиционирование и задание размеров
Если в контейнере отсутствует компоновщик (был вызван метод контейнера setLayout(null)), то позицию и размеры элементов необходимо задать явно методами элемента
setLocation(Point p) - переместить компонент в указанную точку;
setLocation(int x, int y) - переместить компонент в указанную точку;
setSize(Dimension d) - установить размеры компонента;
setSize(int width, int height) - установить размеры компонента;
setBounds(Rectangle r) - переместить и установить размеры компонента (вписать в четырехугольник);
setBounds(int x,int y, int width, int height) - переместить и установить размеры компонента.
Компоновщики вызывают у компонент контейнера getPreferedSize() и потом рассчитывают для каждого location и отступы (и новый размер, если нужно).
 
Мне просто нужно вывести 300 штук меток в определенной последовательности и компоновщики для этого не подходят. Размер фрейма задан по умолчанию и он не изменяется
 
Мне просто нужно вывести 300 штук меток в определенной последовательности и компоновщики для этого не подходят. Размер фрейма задан по умолчанию и он не изменяется
Странно, а я раньше думал, что компоновщики как раз и существуют, чтобы раскладывать контролы в определённой последовательности.
 
Странно, а я раньше думал, что компоновщики как раз и существуют, чтобы раскладывать контролы в определённой последовательности.

у меня просто есть класс который генерирует координаты для отображения
 
у меня просто есть класс который генерирует координаты для отображения
И что мешает оформить этот класс с координатной логикой как свой LayoutManager (см.
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
)?
И ещё, обычно крайне не разумно играться с layout'ом всего fram'а или rootPane. Лучше менять свойства его contentPane или выставить свой контейнер как contentPane (см.
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
).
 
Назад
Зверху Знизу