Ваша реклама могла б бути тут!
1 млн переглядів на місяць!
Google Page Rank: 5

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

🔴 06:33 Повітряна тривога в Харків.обл.
Статус: Offline
Реєстрація: 26.09.2008
Повідом.: 101
  • 🔴 06:33 Повітряна тривога в Харків.обл.
  • #1
проблемка с setLayout(null) в java

Привет всем.
Народ кто может объяснить в чем дело.
Есть класс наследник JFrame и есть KeyListener в цикле у которого выполняются различные передвижения объекта по JFramу. Начальные положения разные и установка в середину экрана или использование какого либо менеджера размещения не актуальна. Вот именно по этому устанавливается setLayout со значением null. Но после установки на фрейме перестают вообще отображаться объекты. Как с этим бороться?
 
  • 🔴 06:33 Повітряна тривога в Харків.обл.
  • #2
Там какой-то по-умолчанию уже стоит, зачем же его на 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 и отступы (и новый размер, если нужно).
 
  • 🔴 06:33 Повітряна тривога в Харків.обл.
  • #3
Мне просто нужно вывести 300 штук меток в определенной последовательности и компоновщики для этого не подходят. Размер фрейма задан по умолчанию и он не изменяется
 
  • 🔴 06:33 Повітряна тривога в Харків.обл.
  • #4
Мне просто нужно вывести 300 штук меток в определенной последовательности и компоновщики для этого не подходят. Размер фрейма задан по умолчанию и он не изменяется
Странно, а я раньше думал, что компоновщики как раз и существуют, чтобы раскладывать контролы в определённой последовательности.
 
  • 🔴 06:33 Повітряна тривога в Харків.обл.
  • #5
Странно, а я раньше думал, что компоновщики как раз и существуют, чтобы раскладывать контролы в определённой последовательности.

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