Каковы вещи, которые вы должны сделать, чтобы сделать панель работать с нулевым макетом?

StackOverflow https://stackoverflow.com/questions/3542946

  •  30-09-2019
  •  | 
  •  

Вопрос

У меня возникли проблемы, получая работу менеджера NULL PALEOUT, и я нашел эту отличную страницу с вещами, чтобы помнить, когда используете менеджер нулевого макета. Один из них был моим вопросом, и я быстро двигался.

Теперь у меня есть похожие проблемы с другой панелью, используя менеджер нулевого макета. Тем не менее, я не могу найти эту страницу нигде! Так что же что?

В процессе задачи этого вопроса я выяснил мою проблему. Я все еще хочу добавить эти знания на сайт, так как я не смог найти этот вопрос где угодно. Это может быть полезно для кого-то другого.

Чтобы уточнить, я уже установил, что мне нужно использовать менеджер нулевого макета для этой панели, из-за потребностей перетаскивания и анимации. Дело не в этом.

Это было полезно?

Решение

Я нашел ссылку, которую я искал:

http://download.orcle.com/javase/tutorial/uiswing/layout/none.html.

Это дает эти три вещи:

  • Установите менеджеру макета контейнера в NULL, позвонив Container.setLayout(null).
  • Вызов Component.setBounds() для каждого из детей контейнера.
  • Вызов Component.repaint()

Как это происходит, хотя моя проблема заключалась в том, что я не делал одну дополнительную вещь:

  • Добавьте каждый компонент в контейнер, используя Container.add(Component)

Другие советы

Добавление компонента в контейнер - это то, что вы делаете, используете ли вы нулевой макет или макетманагеру.

3 вещи, которые я считаю, вам нужно помнить, при использовании нулевой макеты:

  1. Установите размер компонента (обычно предпочтительный размер)

  2. Установите местоположение компонента

  3. Установите предпочтительный размер контейнера, содержащего компоненты. Большинство времени ваш код будет работать, если вы не установите предпочтительный размер, но попробуйте добавить панель на панель прокрутки, и она не будет работать. Причина этого заключается в том, что прокрутки отображаются автоматически, когда предпочтительный размер контейнера больше, чем размер ScrollPane. С нулевой макетом предпочтительный размер 0.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top