Читаем Java 7 полностью

Здесь аргумент constraints должен иметь тип String и содержать имя компонента. Нужный компонент с именем name можно показать методом

show(Container parent, String name);

В листинге 14.5 менеджер размещения cl работает с панелью p, помещенной в "центр" контейнера JFrame. Панель p указывается как аргумент parent в методах next() и show(). На "север" контейнера JFrame отправлена панель p2 с меткой и раскрывающимся списком ch. Рисунок 14.5 демонстрирует результат работы программы.

Листинг 14.5. Менеджер CardLayout

import java.awt.*; import javax.swing.*;

class CardTest extends JFrame{ CardTest(String s){ super(s);

JPanel p = new JPanel();

CardLayout cl = new CardLayout(); p.setLayout(cl);

p.add(new JButton("Русская страница"),"page1"); p.add(new JButton("English page"), "page2"); p.add(new JButton("Deutsche Seite"), "page3"); add(p); cl.next(p); cl.show(p, "page1");

JPanel p2 = new JPanel(); p2.add(new JLabel("Выберите язык:"));

JComboBox ch = new JComboBox(); ch.addItem("Русский"); ch.addItem("Английский"); ch.addItem("Немецкий");

p2.add(ch);

add(p2, BorderLayout.NORTH);

setSize(400, 300); setVisible(true);

}

public static void main(String[] args){

JFrame f= new CardTest(" Менеджер CardLayout"); f.setDefaultCloseOperation(EXIT ON CLOSE);

}

}

Рис. 14.5. Менеджер размещения CardLayout
<p><strong>Менеджер <emphasis>GridBagLayout</emphasis></strong></p>

Менеджер размещения GridBagLayout расставляет компоненты наиболее гибко, позволяя задавать размеры и положение каждого компонента.

В классе GridBagLayout есть только один конструктор, конструктор по умолчанию, без аргументов. Менеджер класса GridBagLayout, в отличие от других менеджеров размещения, не содержит правил размещения. Он играет только организующую роль. Ему передаются ссылка на компонент и правила расположения этого компонента, а сам он помещает данный компонент по указанным правилам в контейнер. Все правила размещения компонентов задаются в объекте другого класса, GridBagConstraints.

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

Класс GridBagConstraints содержит одиннадцать полей, определяющих размеры компонентов, их положение в контейнере и взаимное положение, и несколько констант — значений некоторых полей. Они перечислены в табл. 14.1. Эти данные определяются конструктором, имеющим одиннадцать параметров по числу полей. Второй конструктор — конструктор по умолчанию — присваивает параметрам значения, заданные по умолчанию.

Таблица 14.1. Поля класса GridBagConstraints
ПолеЗначение
anchorНаправление размещения компонента в контейнере. Константы: абсолютные —CENTER, NORTH, EAST, NORTHEAST, SOUTHEAST, SOUTH, SOUTHWEST, WEST, NORTHWEST; относительные — PAGE START, PAGE END, LINE START, LINE END, FIRST LINE START,FIRST LINE END, LAST LINE START, LAST LINE END, относительно базовой линии — BASELINE, BASELINE_LEADING, BASELINE_TRAILING, ABOVE_BASELINE, ABOVE_BASELINE_LEADING, ABOVE_BASELINE_TRAILING, BELOW_BASELINE,BELOW BASELINE LEADING, BELOW BASELINE TRAILING; по умолчанию — CENTER
fillРастяжение компонента для заполнения ячейки. Константы: none, horizontal, vertical, both; по умолчанию — NONE
gridheightКоличество ячеек в колонке, занимаемых компонентом. Целое типа int, по умолчанию 1. Константа remainder означает, что компонент займет остаток колонки, relative — будет следующим по порядку в колонке
Перейти на страницу:

Все книги серии В подлиннике

Java 7
Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др. Дано подробное изложение последней версии сервлетов, технологии JSP и библиотек тегов JSTL. Около двухсот законченных программ иллюстрируют рассмотренные приемы программирования. Приведена подробная справочная информация о классах и методах Core Java API.

Ильдар Шаукатович Хабибуллин

Программирование, программы, базы данных

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных