< Назад | Далее >

Урок 1.2: Добавление и создание макета таблицы сотрудников

В этом уроке вам предстоит добавлять в приложение JScrollPane и JTable с помощью визуального редактора для Java. В следующих упражнениях нужно будет запрограммировать в JTable получение данных от Web-службы, которая возвращает список всех сотрудников в каталоге компании.

После добавления JTable нужно будет с помощью панели эскиза в визуальном редакторе для Java настроить макет JTable в соответствии со следующими спецификациями:

  • Растянуть JTable на три ячейки по горизонтали и на две по вертикали
  • Добавить левый отступ в 15 пикселов
  • Переименовать JTable в employeesTable.

Показать

Открытие файла DirectoryApp.java в визуальном редакторе Java

Для того чтобы открыть файл DirectoryApp.java в визуальном редакторе для Java, выполните следующие действия:
  1. В панели Структура пакетов проекции Java разверните проект MyDirectory и пакет directory.client.
  2. Щелкните правой кнопкой мыши на файле DirectoryApp.java и выберите Открыть с помощью > Визуальный редактор. Визуальный редактор для Java загрузит класс Java и отобразит эскиз области графического холста.
Совет:
  • Для того чтобы изменить внешний вид, используемый визуальным редактором для Java, перейдите к пункту менюОкно > Параметры > Java > Визуальный редактор и задайте внешний вид Swing. Параметры вступят в силу при следующей загрузке класса. В этом учебнике используется внешний вид Windows.
  • Для того чтобы сделать визуальный редактор редактором для всех файлов Java по умолчанию, выберитеОкно > Параметры и задайте нужные параметры на страницеРабочая среда > Типы файлов.

Добавление JTable в панель JScrollPane

Главное окно DirectoryApp.java использует JFrame с JPanel в качестве основной правой панели. JPanel в нашем приложении называется jContentPane. jContentPane использует тип администратора макетов с именем GridBagLayout. GridBagLayout - это мощная схема макета на основе сетки из ячеек, которые можно заполнять визуальными компонентами. Визуальный редактор для Java позволяет удобно работать с GridBagLayout, показывая границы сетки. Кроме того, при размещении новых компонентов на сетке он отображает маркеры размещения и снабжает компоненты управляющими элементами для изменения размера или перемещения в GridBagLayout.

Для того чтобы добавить таблицу сотрудников (javax.swing.JTable) в пользовательский интерфейс DirectoryApp.java, выполните следующие действия:
  1. Щелкните правой кнопкой мыши на jContentPane в панели эскиза или панели объектов JavaBean и выберите Показать сетку. Граница сетки будет показана красным пунктиром, а синие круги с цифрами будут обозначать номера строк и столбцов. Например, обратите внимание, что кнопкаСоздать занимает ячейку в строке 1 (ось y) и столбце 3 (ось x).

    Сетка на графическом холсте

  2. В палитре визуального редактора для Java выберите компонент Swing JTable в JScrollPane Значок JTable в JScrollPane, который по категории находится в лотке палитры Компоненты Swing.
    Совет: По умолчанию палитра сворачивается в правой части области эскиза. Можно изменять размеры палитры и перемещать ее.
  3. Поместите указатель мыши на ячейке сетки в столбце 0, строке 1:

    Расположение на сетке

    • При перемещении указателя мыши по сетке будут отображаться два пронумерованных квадрата, обозначающие координаты x и y в сетке, в которых находится указатель.
    • Если навести указатель мыши непосредственно на границу сетки, можно создать новые столбцы и строки, а номера существующих столбцов и строк будут изменены. В этом случае на данное поведение указывают желтые квадраты на указателе мыши, желтые линии между сетками, а также желтые этикетки столбца и строки. Кроме того, в них отображается воздействие, к которому приведет размещение.
  4. Щелкните левой кнопкой мыши, чтобы поместить JScrollPane и JTable в ячейку в столбце 0 и строке 1:

    Таблица, помещенная на сетке

Растягивание JScrollPane и JTable на несколько столбцов сетки

Нужно растянуть JScrollPane (и ее потомок JTable) на три столбца и две строки для того, чтобы получить более удобные отступы и сделать более удобным изменение размеров. Для того чтобы растянуть столбцы и строки, выполните следующие действия:
  1. Выберите JScrollPane в области эскиза или в области объектов JavaBean (объект должен быть еще выделен, поскольку вы его добавили только что). Обратите внимание на зеленые квадратики в нижней правой части JScrollPane. С помощью этих управляющих элементов для изменения размера можно перетаскивать JScrollPane, чтобы объект растянулся на несколько столбцов и строк.
  2. Щелкните на зеленом управляющем элементе в правой части JScrollPane и удерживайте левую кнопку мыши нажатой.
  3. Перетащите указатель мыши вправо до тех пор, пока не отобразится расположение в столбце 2 и строке 1. Кроме того, темно-серая тень будет показывать ячейки, которые займет компонент при отпускании кнопки мыши.

    Таблица, растянутая на три столбца

  4. Отпустите кнопку мыши. Теперь JScrollPane займет три столбца.
  5. Аналогичным образом растяните JScrollPane до строки 2 с помощью нижнего управляющего элемента:

    Таблица, растянутая на две строки

Настройка отступов JScrollPane в GridBag

Кроме того, в администраторе GridBagLayout предусмотрена функция, позволяющая задавать различные ограничения для дальнейшей настройки макета. Например, можно задавать следующие ограничения:
  • метка: У компонента может быть ориентация на метку внутри ячейки. Это влияет на перемещение компонента, когда пользователь будет изменять размер окна приложения. Например, компонент можно привязать к левому верхнему углу, к центральной верхней части, к центру или к правому нижнему углу.
  • заполнение: Компонент может занимать все доступное пространство в пределах своих ячеек по горизонтали, по вертикали, либо по обеим осям одновременно.
  • отступы: Для компонента можно задать отступы сверху, снизу, слева и справа для того, чтобы был промежуток между компонентом и краем сетки.

Для того чтобы настроить метку, заполнение и отступы для JScrollPane, выполните следующие действия:

  1. Щелкните правой кнопкой мыши на JScrollPane в панели эскиза или в панели объектов JavaBean и выберите Настройка макета.

    Всплывающее меню в jScrollPane

    Совет: Окно Настройка макета может оставаться открытым при выборе и изменении макета для различных компонентов. Окно Настройка макета можно открыть в любой момент. Для этого нужно нажать кнопку Настройка макета в строке меню:

    Значок меню Настройка макета

  2. Убедитесь, что во вкладке Компонент окна Настройка макета нажата кнопка Центр метки.
  3. Убедитесь, что нажаты кнопки Заполнение по горизонтали и Заполнение по вертикали.
  4. Добавьте левый отступ в 15 пикселов для того, чтобы отступ слева от JScrollPane был одинаковым с остальными компонентами приложения.

    Окно Настройка макета

    Теперь, например, таблица выравнивается по метке Фильтр.

    Окно Настройка макета

Переименование JTable на полезное значение и настройка выделения в таблице одной строки

Поскольку впоследствии вам придется работать с таблицей, рекомендуется переименовать экземпляр JTable и метод get. Для того чтобы переименовать таблицу:
  1. В панели объектов JavaBean щелкните правой кнопкой мыши на компоненте jTable и выберите во всплывающем меню Переименовать поле.

    Всплывающее меню jTable

  2. Введите employeesTable и нажмите кнопкуOK. Теперь таблица JTable называется employeesTable, а метод для создания ее экземпляра называется getEmployeesTable.
  3. Разрешите в таблице выделение только одной строки:
    1. Выберите employeesTable в панели эскиза.
    2. В панели Свойства выберите свойствоselectionMode property и задайте значение SINGLE_SELECTION.

      Панель Свойства, в которой SINGLE_SELECTION задано для JTable

    3. Сохраните файл DirectoryApp.java.

Полученные знания и навыки

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

< Назад | Далее >