Spec-Zone .ru
спецификации, руководства, описания, API
|
JPanel
class обеспечивает контейнеры общего назначения для легких компонентов. По умолчанию панели не добавляют цвета к чему-либо кроме их собственного фона; однако, можно легко добавить границы к ним и иначе настроить их рисование. Детали могут быть найдены в
Во многих типах стили панели непрозрачны по умолчанию. Непрозрачная работа панелей хорошо как области контента и может помочь с рисованием эффективно, как описано в Использовании Высокоуровневых Контейнеров. Можно изменить прозрачность панели, вызывая setOpaque
метод. Прозрачная панель не тянет фона, так, чтобы любые компоненты под показали через.
Следующее изображение показывает цветную версию Converter
приложение, которое обсуждается более подробно в Использовании Моделей.
Converter
пример использует панели несколькими способами:
JPanel
экземпляр — покрашенный красным в предыдущем снимке — служит областью контента для фрейма приложения. Эта область контента использует от начала до конца BoxLayout
размечать его содержание, и пустую границу, чтобы поместить 5 пикселей пространства вокруг них. См. Используя Высокоуровневые Контейнеры для информации об областях контента.JPanel
подкласс называют ConversionPanel
— покрашенный синим — используются, чтобы содержать компоненты и координатную передачу между компонентами. Они ConversionPanel
панели также назвали границы, которые описывают их содержание и включают содержание со строкой. Каждый ConversionPanel
панель использует слева направо BoxLayout
объект разметить его содержание.ConversionPanel
, a JPanel
экземпляр — покрашенный пурпурным — используется, чтобы гарантировать надлежащий размер и позицию поля комбинированного списка. Каждый из них JPanel
экземпляры используют от начала до конца BoxLayout
объект (помогший невидимым компонентом заполнения), чтобы разметить поле комбинированного списка.ConversionPanel
, экземпляр неназванного JPanel
подкласс — покрашенный синим — группы два компонента (текстовое поле и ползунок) и ограничивает их размер. Каждый из них JPanel
экземпляры используют от начала до конца BoxLayout
объект разметить его содержание.Вот что Converter
приложение обычно похоже.
Как Converter
пример демонстрирует, панели полезны для группировки компонентов, упрощая расположение компонентов, и помещая границы вокруг групп компонентов. Остальная часть этого раздела дает подсказки при компонентах группировки и разметки. Для получения информации об использовании границ см., Как Использовать Границы.
Как другие контейнеры, панель использует менеджера по расположению, чтобы расположить и измерить его компоненты. По умолчанию менеджер по расположению панели является экземпляром FlowLayout
, который помещает содержание панели подряд. Можно легко заставить панель использовать любого другого менеджера по расположению, вызывая setLayout
метод или определяя менеджера по расположению, создавая панель. Последний подход предпочтителен по причинам производительности, так как он избегает ненужного создания a FlowLayout
объект.
Вот пример того, как установить менеджера по расположению, создавая панель.
JPanel p = new JPanel(new BorderLayout()); //PREFERRED!
Этот подход не работает с BoxLayout
, начиная с BoxLayout
конструктор требует существующего ранее контейнера. Вот пример, который использует BoxLayout
.
JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.PAGE_AXIS));
Когда Вы добавляете компоненты к панели, Вы используете add
метод. Точно, какие параметры Вы определяете к add
метод зависит, на котором менеджере по расположению панель использует. Когда менеджер по расположению FlowLayout
, BoxLayout
, GridLayout
, или SpringLayout
, Вы будете обычно использовать один параметр add
метод, как это:
aFlowPanel.add(aComponent); aFlowPanel.add(anotherComponent);
Когда менеджер по расположению BorderLayout
, Вы должны обеспечить параметр, определяющий позицию добавленного компонента в пределах панели. Например:
aBorderPanel.add(aComponent, BorderLayout.CENTER); aBorderPanel.add(anotherComponent, BorderLayout.PAGE_END);
С GridBagLayout
можно использовать также add
метод, но следует так или иначе определить ограничения сумки сетки для каждого компонента.
Для получения информации о выборе и использовании стандартных менеджеров по расположению, см. Используя менеджеров по Расположению.
API в JPanel
САМ class минимален. Методы Вы, наиболее вероятно, вызовете на a JPanel
объект - те, он наследовался от его суперклассов — JComponent
, Container
Component
JComponent
объекты могут использовать, видеть Класс JComponent.
JPanel
Конструктор | Цель |
---|---|
JPanel () |
Создает панель. LayoutManager параметр предоставляет менеджеру по расположению по новой панели. По умолчанию панель использует a FlowLayout размечать его компоненты. |
Метод | Цель |
---|---|
|
Добавляет указанный компонент к панели. Когда существующий, int параметр является индексированием компонента в пределах контейнера. По умолчанию первый добавленный компонент в, индексируют 0, второе в, индексируют 1, и так далее. Object параметр является зависимым менеджером по расположению и обычно предоставляет информацию менеджеру по расположению относительно расположения и других ограничений расположения для добавленного компонента. String параметр подобен Object параметр. |
|
Получает число компонентов в этой панели. |
|
Получает указанный компонент или компоненты. Можно надеть компонентно-ориентированное индексировать или x, y позиция. |
|
Удаляет указанный компонент (ы). |
Метод | Цель |
---|---|
|
Наборы или получают менеджера по расположению по этой панели. Менеджер по расположению ответственен за расположение компонентов панели в пределах границ панели согласно небольшому количеству философии. |
Много примеров содержатся в этом использовании урока JPanel
объекты. Следующая таблица приводит некоторых.
Пример | Где Описано | Примечания |
---|---|---|
Converter |
Этот раздел | Использование пять панелей, четыре из которых используют BoxLayout и один из которых использует GridLayout . Границы использования панелей и, по мере необходимости, размер и выравнивание подсказывают, чтобы влиять на расположение. |
ListDemo |
Как Использовать Списки | Использует панель, с ее значением по умолчанию FlowLayout менеджер, чтобы центрировать три компонента подряд. |
ToolBarDemo |
Как Использовать Панели инструментов | Использует панель в качестве области контента. Панель содержит три компонента, размеченные BorderLayout . |
BorderDemo |
Как Использовать Границы | Содержит много панелей, у которых есть различные виды границ. Несколько использования панелей BoxLayout . |
BoxLayoutDemo |
Как Использовать BoxLayout | Иллюстрирует использование панели с Swing BoxLayout менеджер. |