цель JPanel? - PullRequest
       9

цель JPanel?

5 голосов
/ 21 сентября 2011

Эта статья в JPanel, кажется, фокусируется на этом контейнере как на способе установки цвета фона. Oracle о том, как использовать JPanel Должен ли я сделать вывод, что если я доволен стандартным серым фоном в программах ubuntu / gnome / Java, нет необходимости использовать этот объект? Есть ли причина объектно-ориентированного программирования использовать этот объект?

Ответы [ 2 ]

11 голосов
/ 21 сентября 2011

JPanels - это способ создать логическое «деление» пространства, если это имеет смысл. Например, если вы думаете о HTML, вы можете просто размещать элементы один за другим на странице (как на самом деле выглядят некоторые старые HTML-страницы), но гораздо эстетичнее использовать контейнер, такой как таблица, или некоторые теги DIV в стиле CSS. создавать разделы на странице и размещать элементы относительно друг друга гораздо более определенным образом.

JPanels заполняют эту функцию в Swing, где у каждого JPanel есть менеджер раскладок, который определяет, как размечаются его внутренние элементы. Нет ничего необычного в том, чтобы вложить JPanels, например, используя JPanel с макетом границы для меню / строки состояния и т. Д., JPanel в центре этого элемента с дополнительными элементами, а затем дополнительные JPanels внутри этой центральной области «панели содержимого» это дополнительно делит пространство, например, создавая форму ввода на одной части центральной панели.

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

3 голосов
/ 21 сентября 2011

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

Также я не уверен, почему вы ссылаетесь на Ubuntu / Gnome, поскольку L & F платформы довольно сильно отличается отутилита JPanel.

...