Как в netbeans создать оконное приложение
Экранной формой называется область, которая видна на экране в виде окна с различными элементами - кнопками, текстом, выпадающими списками и т.п. А сами эти элементы называются компонентами.
Среды, позволяющие в процессе разработки приложения в интерактивном режиме размещать на формы компоненты и задавать их параметры, называются RAD-средами. RAD расшифровывается как Rapid Application Development - быстрая разработка приложений.
В NetBeans и других современных средах разработки такой процесс основан на объектной модели компонентов, поэтому он называется Объектно-Ориентированным Дизайном (OOD - Object-Oriented Design).
NetBeans является RAD-средой и позволяет быстро и удобно создавать приложения с развитым графическим пользовательским интерфейсом (GUI). Хотя языковые конструкции Java, позволяющие это делать, не очень просты, на начальном этапе работы с экранными формами и их элементами нет необходимости вникать в эти тонкости. Достаточно знать основные принципы работы с такими проектами.
С точки зрения автора изучение того, как создавать приложения с графическим интерфейсом, весьма важно для начинающих программистов, и это следует делать с самых первых шагов по изучению Java.
Во-первых, с самого начала осваивается создание полноценных приложений, которые можно использовать в полезных целях. Трудно месяцами изучать абстрактные концепции, и только став профессионалом иметь возможность сделать что-то такое, что можно показать окружающим. Гораздо интереснее и полезнее сразу начать применять полученные знания на практике.
Во-вторых, такой интерфейс при решении какой-либо задачи позволяет лучше сформулировать, какие параметры надо вводить, какие действия и в какой последовательности выполнять, и что в конце концов получается. И отобразить все это на экране: вводимым параметрам будут соответствовать пункты ввода текста, действиям - кнопки и пункты меню, результатам - пункты вывода текста.
Создание приложения с графическим интерфейсом
Для создания приложения запускаем программу NetBeans. Далее включаем пункты меню File, NewProject. Открывается диалоговое окно (см. рис. 1.1). В этом окне выбираем Categories General и Projects Java Application, затем нажимаем кнопку Next. В появившемся окне: вводим имя проекта GUI_application, нажимаем кнопку Brows и выбираем папку, в которой будем размещать проект, очищаем строку Create Main Class и нажимаем кнопку Finish. Заготовка проекта создана (см. рис.1.2)
В окне Projects нажимаем правую кнопку мыши на именю приложения GUI_application (см. рис.1.3). В появившемся контекстном меню выбираем пункты New, JFrame Form. После этого появляется диалоговое окно, в котором просто нажимаем кнопку Finish. Появляется окно формы (рис.1.4).
Из окна Palette перетаскиваем на созданную форму значок главного меню JMenuBar. Находим значок главного меню jMenuBar1[JMenuBar] на дереве проекта в окне Projects, вызываем контекстное меню этого значка и включаем пункт меню Add JMenu. На форме появляется пункт меню Menu, а на дереве проекта пункт jMenu1[JMenu]. Для переименования созданного пункта меню выделяем на дереве проекта пункт jMenu1[JMenu] и в окне Properties (свойства) находим свойство text и изменяем значение данного свойства на File. Таким образом, мы создали пункт меню File. Для создания других пунктов меню (Edit, Help) поступаем аналогично и получаем (см. рис.1.5).
Теперь необходимо создать подпункты для каждого пункта меню. Рассмотрим это на примере пункта File. На дереве проекта находим значок jMenu1[JMenu], соответствующий пункту меню File. Вызываем контекстное меню этого значка и включаем пункты Add, JMenuItem. После этого на дереве проекта появляется значок jMenuItem1[JMenuItem]. Выделяем на дереве проекта этот значок и в окне Properties изменяем значение свойства text на Open. Аналогично устанавливаем другие подпункты пункта меню File.
Создадим заголовок окна (формы После создания подпунктов меню для всех пунктов меню необходимо создать заголовок формы (окна). ). Для этого выделяем форму и в окне Properties находим свойство формы title (заголовок). Устанавливаем заголовок GUI Application.
Подпункт Exit пункта меню File служит для завершения работы приложения. Вставим в обработчик события «щелчок мыши по пункту Exit» команду завершения работы System.exit(0). Для этого вызовем контекстное меню значка jMenuItem4[JMenuItem], который относится к последнему подпункту (Exit) меню File. В этом меню включаем пункты Events, Action, actionPerformed. После этого в программном коде появляется обработчик указанного события (метод). В тело данного метода мы вставляем команду System.exit(0):
private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt)
Запустим наше приложение для проверки проделанной работы. После запуска приложения на экране появляется окно формы с созданным меню (см. рис.1.6). Для проверки подпунктов меню щелкаем на кнопке File, в результате на экране появляются подпункты меню File.
Для завершения работы приложения щелкаем на подпункте меню Exit и программа завершает свою работу.
Для просмотра исходного кода щелкаем мышкой на кнопке Design и в окне редактора кода появится следующий текст:
В настоящее время умение писать программы на языке Java является очень востребованным в различных сферах деятельности. Java-программы можно писать и в обычном текстовом редакторе, таким как Блокнот, однако предпочтительным является использование специальных сред разработки, обладающих большим набором функций, особенно в вопросах проверки и отладки программного кода [1, 2, 3], например NetBeans.
Для создания Java-программы в среде NetBeans достаточно кликнуть пункт меню Файл — Создать проект, выбрать Приложение Java в качестве проекта, ввести имя проекта и путь к папке, где он будет расположен. При необходимости можно указать имя главного класса.
После выполнения указанных действий появится окно (внешний вид которого может различаться в зависимости от версии NetBeans), фрагмент которого показан на рис. 1.
Рисунок 1. Скриншот Java-программы в среде NetBeans
Для запуска программы достаточно нажать клавишу F6.
Разработка оконного приложения в NetBeans формально состоит из двух этапов: создания оконных форм, или фреймов (от англ. Frame), и написания кода программных модулей, что осуществляется на рабочей области, которая позволяет переключаться между ними через закладки Источник и Проект.
Создание оконной формы осуществляется путем подключения к проекту формы JFrame с последующим размещением на ней элементов управления, таких как: кнопки, переключатели, текстовые поля и т.п., расположенные на панели инструментов, размещенной по умолчанию в правой части среды NetBeans.
Для того чтобы добавить нужный элемент управления на форму, необходимо выбрать его в списке, щелкнув по нему мышкой, а затем поместить его на форму.
После размещения какого-либо элемента управления (компонента) следует выполнить настройку его свойств на соответствующей вкладке в правом нижнем углу среды NetBeans. Также можно с помощью мышки менять его положение и (или) размеры.
Чтобы изменить значение какого-либо свойства, требуется щелкнуть мышкой по полю напротив его названия, а затем ввести нужное значение.
Все компоненты, размещенные на форме, отображаются в дереве объектов, которое находится в левом нижнем углу NetBeans.
Сами по себе компоненты не выполняют каких-либо действий. Для этого необходимо запрограммировать их реакцию на конкретные события, например, на нажатие клавиши мыши. Так, в коде программы описываются методы обработки разных событий, которые затем необходимо привязать к компоненту на вкладке События путем указания их имени.
Форма, как и размещаемые на ней компоненты, также имеет свой собственный набор свойств и событий, например, свойство title, которое определяет текст, отображаемый в заголовке формы.
К основным элементам управления, помещаемым на форму, относятся:
1. Метка, или JLabel. Данный элемент управления представляет собой надпись, размещаемую на форме. Текст для надписи хранится в свойстве text. Свойства horizontalAlignment и verticalAlignment выполняют автоматическое выравнивание текста внутри компонента по горизонтали или по вертикали. В свойстве font задаются настройки шрифта.
Для того чтобы поменять текст надписи из программы, необходимо выполнить команду setText. Например:
где в скобках записан текст на замену.
2. Текстовое поле, или jTextField. Данный компонент представляет собой однострочное поле для ввода текста, который хранится в свойстве text. Свойство editable включает или отключает возможность редактирования текста внутри компонента.
Часть свойств jTextField повторяет аналогичные свойства JLabel, например, font, что относится ко многим компонентам.
Для того чтобы записать введенный текст в переменную s типа String, нужно выполнить команду getText. Например:
3. Участок текста, или jTextArea. Данный компонент представляет собой многострочное текстовое поле для ввода и (или) отображения текста, который хранится в свойстве text, и представляет собой расширенный вариант jTextField.
Для очистки компонента можно использовать команду:
Для разделения строк внутри текста используется управляющий символ \n. Например:
После выполнения этой команды компонент jTextArea будет содержать 2 строки.
Свойство lineWrap позволяет включить автоматический перенос слов на новую строку при необходимости.
4. Кнопка, или JButton. Данный элемент управления представляет собой обычную командную кнопку, действия над которой можно запрограммировать.
В свойстве text хранится текст, отображаемый на кнопке, а событие mouseClicked позволяет привязать метод обработки события, возникающего при щелчке мышкой по кнопке.
5. Флажок, или JCheckBox. Данный компонент представляет собой пустое поле для установки/снятия флажка и используется для выбора каких-либо параметров.
Свойство selected устанавливает или снимает флажок по умолчанию. Метод isSelected позволяет проверить установлен флажок или снят, например:
В примере метод setTitle позволяет менять заголовок формы без прямого обращения к ней по имени.
6. Переключатель, или JRadioButton. Данный элемент управления представляет собой, так называемую, радиокнопку, свойства которой, в большинстве своем, аналогичны компоненту JCheckBox.
С помощью радиокнопок в приложении можно организовать выбор одного из нескольких значений, например, мужской или женский пол и т.п.
7. Группа кнопок, или buttonGroup. Данный компонент позволяет объединить несколько радиокнопок, размещенных на форме, в группу, что дает возможность автоматического выбора (установки) только одной из них.
Компонент buttonGroup относится к невизуальным компонентам, т.е. он не отображается на форме и работать с ним можно только программно.
Так, объединение радиокнопок в группу возможно путем добавления следующих команд в обработчик события windowActivated, который вызывается автоматически при создании формы:
В результате выполнения данных команд две радиокнопки будут объединены в группу.
Метод getButtonCount() позволяет узнать общее количество кнопок в группе.
На рис. 2 изображена форма приложения с расположенными на ней элементами управления, такими как: JLabel, jTextField, jTextArea, JButton, JCheckBox, JRadioButton, buttonGroup. Радиокнопки при этом объединены в группу.
Рисунок 2. Пример формы с размещенными на ней элементами управления
Перечисленные компоненты позволяют создавать простые оконные Java-приложения для решения различных задач.
Помимо прочего, NetBeans обеспечивает программистов большим количеством функциональных возможностей, облегчающих разработку, тестирование и отладку приложений.
Список литературы
В этой статье рассмотрим создание программы для Windows с использованием Win API с помощью NetBeans и набора инструментов MinGW.
Будет создана минимальная оконная Windows программа с функцией WinMain.
Подразумевается, что вы скачали и корректно установили пакет компиляторов. Прочитайте подробное руководство по установке MinGW в статье MinGW - С и С++ компилятор для Windows.
Создание нового Си проекта в NetBeans
Перейдите в меню "Файл" и кликните по пункту "Создать проект. ".
В появившемся диалоговом окне выберите рубрику "С/С++" и тип проекта "Приложение С/С++", после чего нажимайте "Далее".
На следующем шаге введите имя и расположение проекта, пусть чекбокс "Create Main File" будет отмечен и из выпадающего списка выберите тип исходного файла "С".
Как видим, IDE создала проект, также был автоматически создан исходный файл "main.c".
Откроем файл в редакторе, удалим автоматически сгенерированное содержимое и вставим следуюший код, найти который можно в файле main.zip.
Сохраните изменения, нажав клавиши Ctrl + C.
В предыдущей статье есть подробное описание процесса компилирования и запуска С++ проекта в NetBeans, настройка проекта там тоже частично рассмотрена.Рекомендуется внимательно прочитать статью, так как далее эти действия будут описываться кратко.
Перед компиляцией перейдите в настройки проекта, выберите рубрику "Run" и в строке "Console Type" из выпадающего списка выберите опцию "Output Window". Таким образом вы сможете выводить отладочную информацию на стандартный вывод и просматривать на панели "Output" в нижней области рабочего окна IDE.
Сохраните изменения и скомпилируйте проект, нажав клавишу F11. На панели "Output" можно просмотреть, что программа скомпилирована благополучно.
Запустите программу, нажав клавишу F6 и полюбуйтесь на оконное приложение под Windows. Исполняемый файл программы можно найти в папке проекта, путь к нему - "dist\Debug\MinGW-Windows". Однако, если вы его запустите, то работа программы будет сопровождаться консольным окном, что удобно при тестировании программы, если вы добавите в неё специальный код, выводящий информацию о происходящих в программе событиях.
Для создания рабочей версии программы, уберём ненужное консольное окно и создадим Release программы.
Перейдём в свойства проекта, далее в раздел "Linker". Вверху в диалоговом окне выберем "Release" из выпадающего списка.
Обратите внимание на нижнюю строку таблицы с настройками - "Command Line", здесь можно ввести дополнительный аргумент командной строки для сборщика проекта, введите опцию
"-mwindows" без кавычек.
Сохраните настройки, нажав "ОК".
Убедитесь, что на панели инструментов выбрана конфигурация проекта "Release" и скомпилируйте программу.
Для создания графического интерфейса необходимо создать контейнер Java, в который будут помещены другие требуемые компоненты. В этом шаге мы создадим контейнер с помощью компонента JFrame. Мы разместим контейнер в новый пакет, который будет отображаться в узле источника пакетов.
Создание контейнера JFrame
В результате создаётся форма NumberAdditionUI и класс NumberAdditionUI в приложении NumberAddition и открывается форма NumberAdditionUI в GUI Builder. Пакет my.NumberAddition заменяет собой пакет по умолчанию.
Добавление элементов: создание внешнего интерфейса
Далее мы будем использовать палитру компонентов для заполнения визуальной части нашего приложения с JPanel. Затем мы добавляем три элемента JLabels , три элемента JTextFields , и три элемента JButtons .
После размещения всех вышеуказанных компонентов, JFrame должен выглядеть на следующем скриншоте:
Если Вы не видите палитру в верхнем правом углу среды IDE, выберите Окно > Палитра .
- Начните с выбора группы из категории контейнеры Swing на палитре компонентов и перетащите его на JFrame ;
- После выделения JPanel , перейдите в окно Свойства и нажмите кнопку с многоточием (. ) рядом с стилем границы;
- В диалоговом окне выберите из списка Рамка с надписью . Нажмите ОК для сохранения изменений и закрытия диалогового окна;
- Теперь получилась пустая форма JFrame . Посмотрите на скриншот выше и добавте три компонента JLabels , три компонента JTextFields и три компонента JButtons .
Переименование компонентов
На этом этапе мы собираемся переименовать отображаемый текст компонентов, которые были добавлены в форму.
- Щёлкните два раза по компоненту jLabel1 и измените его текст на First Number ;
- Щёлкните два раза по компоненту jLabel2 и измените его текст на Second Number ;
- Щёлкните два раза по компоненту jLabel3 и измените его текст на Result ;
- Удалить текст по умолчанию у элемента jTextField1 . Вы можете изменить отображаемый текст щёлкнув правой кнопкой мыши по текстовому полю и выбрать Редактировать текст из всплывающего меню. Возможно, Вам придётся изменить размер jTextField1 . Повторите этот шаг для jTextField2 и jTextField3 ;
- Переименуйте отображаемый текст у jButton1 в Clear . (Вы можете редактировать текст кнопки щелкнув правой кнопкой мыши и выбрав кнопку Редактировать текст . Существует ещё один способ. Нажмите на кнопку, подождите, а затем ещё раз нажмите на неё.);
- Переименуйте отображаемый текст у jButton2 в Add ;
- Переименуйте отображаемый текст у jButton3 в Exit ;
Готовый графический интерфейс должен выглядеть так, как показанно на следующем скриншоте:
Читайте также: