О РАЗРАБОТКЕ ОКОННЫХ JAVA-ПРИЛОЖЕНИЙ В NETBEANS: ЧАСТЬ 3

№73-1,

Технические науки

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

Похожие материалы

В предыдущих частях были рассмотрены особенности работы в среде разработки NetBeans, используемой для создания различных программ или приложений на языке программирования Java, а также элементы управления (или компоненты), помещаемые на формы оконных приложений [1, 2, 3].

Далее рассмотрим элементы управления, расширяющие возможности базовых элементов, а также компоненты NetBeans, предназначенные для создания меню и работы с таблицами:

1. Счетчик, или JSpinner. Этот элемент управления, по сути, является специальным вариантом реализации текстового поля JTextField с кнопками для автоматического изменения содержащегося в нем числового значения.

Составное свойство model содержит ряд настроек, таких как:

а) тип модели — предназначено для выбора типа значений, которые может содержать компонент: дата, список или номер;

б) свойства модели — содержит ряд настроек для изменения свойств выбранного типа модели. Так, для модели типа Номер можно выбрать тип числа: целое, короткое, длинное, байт, с плавающей точкой и т. д., указать минимальное, максимальное и первоначальное значения, а также выбрать размер шага.

Получить текущее значение, содержащееся в компоненте JSpinner, можно с помощью метода getValue(). Возвращаемый методом результат будет иметь тип Object, которой затем следует конвертировать в нужный тип данных. Например:

setTitle(jSpinner1.getValue().toString());

2. Поле пароля, или jPasswordField. Данный компонент представляет собой однострочное тестовое поле по аналогии с компонентом jTextField, где текст автоматически заменяется на символы, код которых записан в свойстве echoChar. Как следует из названия, компонент jPasswordField используется для ввода пароля.

3. Форматируемое поле, или jFormattedTextField. Данный компонент, как и 2 предыдущих, представляет собой расширенный вариант реализации текстового поля jTextField, ввод символов в который ограничен маской, задаваемой в свойстве formatterFactory, где по нажатию на кнопку «…» можно вызвать редактор, в котором имеется ряд предопределенных масок, например, для ввода даты, времени, денежных единиц и пр. Внешний вид редактора масок показан на рис. 1.

Редактор текстовых масок в NetBeans
Рисунок 1. Редактор текстовых масок в NetBeans

4. Таблица, или JTable. Данный компонент позволяет разместить на форме таблицу для ввода и/или вывода в ее ячейки значений разных типов данных.

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

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

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

DefaultTableModel dTM;
dTM = (DefaultTableModel) jTable1.getModel();
dTM.setRowCount(5);

Данный код устанавливает количество строк в таблице равным пяти, для этого используется метод setRowCount(), где в скобках указывается нужное число строк. Предварительно, модель таблицы следует сохранить в переменную типа DefaultTableModel для удобства использования.

На рис. 2 приведен пример формы с размещенной на ней таблицей JTable и элементом управления JSpinner, предназначенным для изменения количества строк в таблице.

Пример формы оконного java-приложения
Рисунок 2. Пример формы оконного java-приложения

Для работы с содержимым таблицы jTable используются следующие методы:

а) setValueAt(значение, строка, столбец) — устанавливает новое значение в ячейку, расположенную по указанным индексам строки и столбца. Например:

jTable1.setValueAt("текст", 0, 0);

Индексация строк и столбцов таблицы начинается с 0.

б) getValueAt(строка, столбец) — данный метод считывает значение из ячейки, расположенной по указанным индексам.

Так, следующий код считывает значение из первой ячейки таблицы:

jTable1.getValueAt(0, 0)

в) методы getRowCount() и getColumnCount() — возвращают текущее количество строк и столбцов таблицы соответственно.

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

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

Подпункты меню размещаются аналогичным образом, только уже на имеющиеся компоненты JMenu. Подпункты меню могут иметь различный вид (обычный текст, флажок или радиокнопка) в результате использования соответствующих им компонентов, т. е. JMenuItem, JCheckBoxMenuItem или JRadioButtonMenuItem.

Созданные пункты и (или) подпункты меню отображаются в дереве объектов проекта, щелчком по которым можно обращаться к ним, как к отдельным объектам, имеющим свой набор свойств.

По сути, все пункты меню представляют собой обычные командные кнопки, переключатели и (или) флажки (в зависимости от используемых компонентов), для которых можно определить соответствующие методы для обработки событий mouseClicked или actionPerformed.

Для создания всплывающих (или Popup) меню, возникающих при щелчке правой кнопки мышки по тому или иному элементу управления используется компонент JPopupMenu, который, также, как и компонент jMenu, допускает размещение подпунктов разных типов.

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

Пример меню приложения, разработанного в NetBeans, показан на рис. 3, где разделители в меню созданы при помощи компонентов JSeparator, которые размещены на элементе управления JMenu.

Пример меню приложения
Рисунок 3. Пример меню приложения

Рассмотренные в статье компоненты, в совокупности с остальными элементами управления, рассмотренными в предыдущих частях работы, являются наиболее используемыми при разработке оконных приложений на языке программирования Java, в то время как среда разработки NetBeans содержит гораздо большее количество компонентов, предназначенных для реализации самых разных задач: диалоговые окна, канву для рисования, панели инструментов и пр.

Список литературы

  1. Антипин А.Ф. Организация эффективной работы преподавателей в условиях рейтинговой системы обучения // Прикладная информатика. 2014. № 3. С. 48-59.
  2. Седова Н.А., Седов В.А. Методы оценки качества полученных решений // Южно-Сибирский научный вестник. 2012. № 1. С. 88–91.
  3. Степашина Е.В. Оптимизация финансовых показателей предприятия на основе нейросетевой модели // Информационные системы и технологии. 2014. № 5. С. 34-42.