Spec-Zone .ru
спецификации, руководства, описания, API
След: Создание GUI С JFC/Swing
Урок: Используя Компоненты Swing
Раздел: Как Использовать Различные Компоненты
Как Использовать Панели
Домашняя страница > Создание GUI С JFC/Swing > Используя Компоненты Swing

Как Использовать Панели

JPanel class обеспечивает контейнеры общего назначения для легких компонентов. По умолчанию панели не добавляют цвета к чему-либо кроме их собственного фона; однако, можно легко добавить границы к ним и иначе настроить их рисование. Детали могут быть найдены в Выполнении Пользовательского Рисования.

Во многих типах стили панели непрозрачны по умолчанию. Непрозрачная работа панелей хорошо как области контента и может помочь с рисованием эффективно, как описано в Использовании Высокоуровневых Контейнеров. Можно изменить прозрачность панели, вызывая setOpaque метод. Прозрачная панель не тянет фона, так, чтобы любые компоненты под показали через.

Пример

Следующее изображение показывает цветную версию Converter приложение, которое обсуждается более подробно в Использовании Моделей.

Красочный Преобразователь

Converter пример использует панели несколькими способами:

Вот что 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 Панели

API в JPanel САМ class минимален. Методы Вы, наиболее вероятно, вызовете на a JPanel объект - те, он наследовался от его суперклассов — JComponent, Container, и Component. Следующие таблицы приводят API, который Вы, наиболее вероятно, будете использовать, за исключением методов, связанных с подсказками расположения и границами. Для получения дополнительной информации о API, что все JComponent объекты могут использовать, видеть Класс JComponent.

Создание a JPanel
Конструктор Цель
JPanel ()
JPanel (LayoutManager)
Создает панель. LayoutManager параметр предоставляет менеджеру по расположению по новой панели. По умолчанию панель использует a FlowLayout размечать его компоненты.
Управление Компонентами Контейнера
Метод Цель
пусто добавьте (Компонент)
пусто добавьте (Компонент, интервал)
пусто добавьте (Компонент, Объект)
пусто добавьте (Компонент, Объект, интервал)
пусто добавьте (Строка, Компонент)
Добавляет указанный компонент к панели. Когда существующий, int параметр является индексированием компонента в пределах контейнера. По умолчанию первый добавленный компонент в, индексируют 0, второе в, индексируют 1, и так далее. Object параметр является зависимым менеджером по расположению и обычно предоставляет информацию менеджеру по расположению относительно расположения и других ограничений расположения для добавленного компонента. String параметр подобен Object параметр.
интервал getComponentCount () Получает число компонентов в этой панели.
Компонент getComponent (интервал)
Компонент getComponentAt (интервал, интервал)
Компонент getComponentAt (Точка)
Компонент [] getComponents ()
Получает указанный компонент или компоненты. Можно надеть компонентно-ориентированное индексировать или x, y позиция.
пусто удалите (Компонент)
пусто удалите (интервал)
освободите removeAll ()
Удаляет указанный компонент (ы).
Установка или Получение менеджера по Расположению
Метод Цель
освободите setLayout (LayoutManager)
LayoutManager getLayout ()
Наборы или получают менеджера по расположению по этой панели. Менеджер по расположению ответственен за расположение компонентов панели в пределах границ панели согласно небольшому количеству философии.

Примеры То Использование Панели

Много примеров содержатся в этом использовании урока JPanel объекты. Следующая таблица приводит некоторых.

Пример Где Описано Примечания
Converter Этот раздел Использование пять панелей, четыре из которых используют BoxLayout и один из которых использует GridLayout. Границы использования панелей и, по мере необходимости, размер и выравнивание подсказывают, чтобы влиять на расположение.
ListDemo Как Использовать Списки Использует панель, с ее значением по умолчанию FlowLayout менеджер, чтобы центрировать три компонента подряд.
ToolBarDemo Как Использовать Панели инструментов Использует панель в качестве области контента. Панель содержит три компонента, размеченные BorderLayout.
BorderDemo Как Использовать Границы Содержит много панелей, у которых есть различные виды границ. Несколько использования панелей BoxLayout.
BoxLayoutDemo Как Использовать BoxLayout Иллюстрирует использование панели с Swing BoxLayout менеджер.

Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Как Использовать Меню
Следующая страница: Как Использовать Поля Пароля