// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Введение в разработку графического интерфейса
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Введение в разработку графического интерфейса - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Введение в разработку графического интерфейса

Предоставлено Салимом Гулом (Saleem Gul) и Томасом Павеком (Tomas Pavek)

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

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

Более детальное руководство по функциям разработки конструктора графического интерфейса пользователя, включая видеодемонстрации различных функций разработки см. в разделе link:quickstart-gui.html[+Разработка графического пользовательского интерфейса Swing в IDE NetBeans+].

*Предполагаемая продолжительность: 20 минут*



image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 6.9 и более поздним версиям"]


*Для работы с этим учебным курсом требуются программное обеспечение и ресурсы, перечисленные ниже.*

|===
|Программное обеспечение или материал |Требуемая версия 

|link:http://netbeans.org/downloads/[+IDE NetBeans с Java SE+] |версия 6.9 или более поздняя 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Комплект для разработчика на языке Java (JDK)+] |версия 6, 7 или 8 
|===


== Упражнение 1: Создание проекта

Первым действием является создание проекта среды IDE для разрабатываемого приложения. Дадим проекту имя  ``NumberAddition`` .

1. Выберите  ``"Файл"``  >  ``"Создать проект"`` . Также можно щелкнуть значок "New Project" на панели инструментов среды IDE.
2. В области "Categories" выберите узел "Java". В области "Projects" выберите "Java Application". Нажмите кнопку "Далее".
3. Введите `NumberAddition` в поле Project Name ("Имя проекта") и укажите путь, например, в вашем основном каталоге, как местоположение проекта.
4. Установите флажок "Использовать отдельную папку для хранения библиотек" и укажите местоположение папки библиотек (необязательно). Дополнительная информация приведена в статье link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG455[+Предоставление доступа к библиотеке другим пользователям+] в документе _Разработка приложений с помощью NetBeans IDE_.
5. Удалите флажок "Create Main Class", если он установлен.
6. Нажмите кнопку 'Готово'.


== Упражнение 2: Создание внешнего интерфейса

Для продолжения процесса создания интерфейса необходимо создать контейнер Java, в который будут помещены другие требуемые элементы графического интерфейса. В этом действии контейнер будет создан с помощью элемента `JFrame`. Контейнер будет помещен в новый пакет, который будет отображаться в узле "Source Packages".


=== Создание контейнера JFrame

1. В окне 'Проекты' щелкните правой кнопкой мыши узел  ``NumberAddition``  и выберите  ``Создать``  >  ``Другие`` .
2. В диалоговом окне создания файла выберите категорию  ``Swing GUI Forms``  и тип файла  ``JFrame Form`` . Нажмите кнопку "Далее".
3. Введите  ``NumberAdditionUI``  в качестве имени класса.
4. Выберите пакет `my.numberaddition`.
5. Нажмите кнопку 'Готово'.

Среда IDE создает форму `NumberAdditionUI` и класс `NumberAdditionUI` в приложении `NumberAddition` и открывает форму `NumberAdditionUI` в GUI Builder. Пакет `my.NumberAddition` заменяет собой пакет по умолчанию.


=== Добавление элементов: создание внешнего интерфейса

Далее с помощью окна "Palette" внешний интерфейс приложения заполняется панелью JPanel. После этого добавляются три элемента JLabel (текстовые подписи), три элемента JTextField (текстовые поля) и три элемента JButton (кнопки). Если до этого работа с конструктором графического интерфейса пользователя не выполнялась сведения о размещения компонентов см. в разделе link:quickstart-gui.html[+Разработка графического пользовательского интерфейса Swing в IDE NetBeans+].

После перетаскивания и размещения указанных выше элементов элемент JFrame должен выглядеть так, как показано на рисунке ниже.

image::images/Figure1.png[]

Если в правом верхнем углу среды IDE отсутствует окно Palette ("Палитра"), выберите Window ("Окно") > Palette ("Палитра").

1. Для начала выберите панель из категории Swing Containers ("Контейнеры Swing") в палитре и перетащите ее на JFrame.
2. Панель JPanel будет выделена. Перейдите к окну "Properties" и нажмите кнопку с многоточием (...) рядом с полем "Border" для выбора стиля границы.
3. В диалоговом окне "Border" выберите "TitledBorder" из списка и введите `Number Addition` в поле "Title". Для сохранения изменений и закрытия диалогового окна нажмите кнопку "OK".
4. Теперь на экране должен отображаться пустой элемент "JFrame" с заголовком "Number Addition", как показано на рисунке. Согласно рисунку добавьте к нему три метки JLabel, три текстовых поля JTextField и три кнопки JButton.


=== Переименование элементов

На этом этапе будет выполнено переименование элементов, которые были добавлены к элементу JFrame.

1. Дважды щелкните `jLabel1` и измените ntrcn (свойство "text") на `First Number`.
2. Дважды щелкните `jLabel2` и измените текст на `Second Number`.
3. Дважды щелкните `jLabel3` и измените текст на `Result`.
4. Удалите стандартный текст из `jTextField1`. Отображаемый текст можно преобразовать в редактируемый. Для этого щелкните правой кнопкой мыши текстовое поле и выберите 'Редактировать текст' во всплывающем меню. При этом может потребоваться восстановить первоначальный размер поля `jTextField1`. Повторите это действие для полей `jTextField2` и `jTextField3`.
5. Измените отображаемый текст `jButton1` на `Clear`. (Для изменения текста кнопки щелкните кнопку правой кнопкой мыши и выберите "Edit Text". В качестве альтернативы можно щелкнуть кнопку, выдержать паузу и щелкнуть еще раз.)
6. Измените отображаемый текст `jButton2` на `Add`.
7. Измените отображаемый текст `jButton3` на `Exit`.

Теперь готовый графический интерфейс должен выглядеть так, как показано на рисунке ниже:

image::images/Figure2.png[]


== Упражнение 3: Добавление функциональности

В этом упражнении будет добавлена необходимая функциональность к кнопкам "Add", "Clear" и "Exit". Поля `jTextField1` и `jTextField2` будут использоваться для ввода значений пользователем, а `jTextField3` – для вывода результата работы программы. Создаваемая программа представляет собой простейший калькулятор. Итак, приступим!


=== Добавление функциональности к кнопке "Exit"

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

1. Щелкните правой кнопкой мыши кнопку "Exit". Во всплывающем меню выберите Events ("События") > Action ("Действие") > actionPerformed. Учтите, что меню содержит множество других событий, на которые может реагировать программа! При выборе события  ``actionPerformed``  среда IDE автоматически добавит прослушиватель ActionListener к кнопке Exit ("Выход") и создаст метод обработчика для обработки метода прослушивателя actionPerformed.
2. В среде IDE автоматически открывается окно "Source Code", где отображается место вставки действия, которое должно выполняться кнопкой при ее нажатии (с помощью мыши или клавиатуры). Окно "Source Code" должно содержать следующие строки:

[source,java]
----

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
    //TODO add your handling code here:
                }
----


. Теперь добавим код действия, которое должна выполнять кнопка "Exit". Замените строку TODO на `System.exit(0);`. Готовый код кнопки "Exit" должен выглядеть следующим образом:

[source,java]
----

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
    System.exit(0);
                } 
----


=== Добавление функциональности к кнопке "Clear"

1. Щелкните вкладку "Design" в верхней части рабочей области для возврата к экрану "Form Design".
2. Щелкните правой кнопкой мыши кнопку "Clear" (`jButton1`). В появившемся меню выберите "Events > Action > actionPerformed".
3. Нажатие кнопки "Clear" должно приводить к удалению всего текста из всех текстовых полей "jTextField". Для этого следует добавить код, аналогичный приведенному выше. Готовый исходный код должен выглядеть следующим образом:

[source,java]
----

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
    jTextField1.setText("");
    jTextField2.setText("");
    jTextField3.setText("");
                }
----

Этот код удаляет текст из всех трех полей JTextField, оставляя их пустыми.


=== Добавление функциональности к кнопке "Add"

Кнопка "Add" должна выполнять три действия.

1. Сначала она принимает данные, введенные пользователем в полях `jTextField1` и `jTextField2`, и преобразовывает их из типа "String" в тип "Float".
2. Затем она выполнит сложение двух чисел.
3. И, наконец, она преобразует сумму в тип String и поместит ее в `jTextField3`.
Начнем!


[start=1]
1. Щелкните вкладку "Design" в верхней части рабочей области для возврата к экрану "Form Design".
2. Щелкните правой кнопкой мыши кнопку "Add" (`jButton2`). Во всплывающем меню выберите Events ("События") > Action ("Действие") > actionPerformed.
3. Добавьте код действий, которые должна выполнять кнопка "Add". Готовый исходный код должен выглядеть следующим образом:

[source,java]
----

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt){
    // First we define float variables.
    float num1, num2, result;
    // We have to parse the text to a type float.
    num1 = Float.parseFloat(jTextField1.getText());
    num2 = Float.parseFloat(jTextField2.getText());
   // Now we can perform the addition.
    result = num1+num2;
    // We will now pass the value of result to jTextField3.
    // At the same time, we are going to
    // change the value of result from a float to a string.
    jTextField3.setText(String.valueOf(result));
                    }
----

Теперь программа полностью готова, и можно приступить к ее сборке и выполнению.


== Упражнение 4: Выполнение программы

*Для выполнения программы в среде IDE выполните следующие действия:*

1. Выберите Run ("Запуск") > Run Main Project ("Запуск главного проекта") (как вариант, нажмите F6).

*Примечание.* При открытии окна с указанием того, что для Project NumberAddition не задан основной класс, следует выбрать  ``my.NumberAddition.NumberAdditionUI``  в качестве основного класса в том же окне и нажать кнопку ОК.

*Для запуска программы вне среды IDE выполните следующие действия:*

1. Для сборки архива JAR приложения выберите "Run > Clean and Build Main Project" (Shift-F11).
2. При помощи проводника по файловой системе или диспетчера файлов перейдите в каталог ` NumberAddition/dist`.

*Примечание.* Местоположение каталога проекта  ``NumberAddition``  зависит от пути, указанного при создании проекта в шаге 3 в разделе <<Exercise_1,Упражнение 1. Создание проекта>>.



. Дважды щелкните файл `NumberAddition.jar`.

Через несколько секунд приложение запустится.

*Примечание.* Если при двойном щелчке файла JAR не выполняется запуск приложения, дополнительные сведения о настройке связей файлов JAR в используемой операционной системе см link:../../articles/javase-deploy.html#troubleshooting[+эту статью+].

Можно также запустить приложение из командной строки.

*Для запуска приложения из командной строки выполните следующие действия:*

1. Вызовите командную строку или окно терминала.
2. В командной строке измените текущий каталог на каталог `NumberAddition/dist`.
3. В командной строке введите следующий оператор:

[source,java]
----

java -jar  NumberAddition.jar
----

*Примечание.* Убедитесь, что  ``my.NumberAddition.NumberAdditionUI``  задан как основной класс до запуска приложения. Для провери этого, щелкните правой кнопкой узел мыши узел проекта NumberAddition на панели 'Проекты', выберите 'Свойства' во всплывающем меню и выберите категорию 'Выполнить' в диалоговом окне 'Свойства проекта'. В поле 'Основной класс' должно отображаться  ``my.numberaddition.NumberAdditionUI`` .


== Механизм обработки событий

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

1. Вернитесь к файлу `NumberAdditionUI.java` в редакторе. Щелкните вкладку "Design" для просмотра структуры графического интерфейса в GUI Builder.
2. Щелкните правой кнопкой мыши любой элемент графического интерфейса и выберите "Events" в появившемся меню. Теперь можно просто изучить содержимое меню, не выбирая каких-либо пунктов.
3. В качестве альтернативы можно выбрать "Properties" в меню "Window". В окне "Properties" щелкните вкладку "Events". Вкладка "Events" позволяет просмотреть и изменить обработчики событий, связанные с текущим активным элементом графического интерфейса.
4. Приложение также может реагировать на нажатие клавиш, одинарный, двойной или тройной щелчок мышью, перемещение указателя мыши, изменение размера окна и перемещение фокуса ввода. Меню "Events" позволяет автоматически создать обработчики событий для всех этих событий. Наиболее распространенным из них является событие "Action". (Для получения дополнительных сведений см. link:http://java.sun.com/docs/books/tutorial/uiswing/events/generalrules.html#twokinds[+практические рекомендации по обработке событий+] в руководстве link:http://java.sun.com/docs/books/tutorial/uiswing/events/index.html[+Sun Java Events Tutorial+].)

Как выполняется обработка событий? При каждом выборе события из меню событий среда IDE автоматически создает так называемый прослушиватель событий и связывает его с компонентом разработчика. Для более подробного ознакомления с процессом обработки событий выполните следующие действия.

1. Вернитесь к файлу `NumberAdditionUI.java` в редакторе. Щелкните вкладку "Source" для просмотра исходного кода графического интерфейса.
2. Выполните прокрутку вниз и просмотрите реализованные методы `jButton1ActionPerformed()`, `jButton2ActionPerformed()` и `jButton3ActionPerformed()`. Эти методы называются обработчиками событий.
3. Теперь перейдите к методу `initComponents()`. Если этот метод отсутствует, найдите строку `Generated Code` и щелкните знак + рядом с этой строкой для отображения скрытого метода `initComponents()`.
4. Обратите внимание на синий блок, окружающий метод `initComponents()`. Этот код был автоматически создан средой IDE и не может быть изменен пользователем.
5. Теперь посмотрите на сам метод `initComponents()`. Помимо прочего, он содержит код, инициализирующий элементы графического интерфейса и помещающий их в форму. Этот код создается и обновляется автоматически при размещении и изменении элементов в режиме проектирования.
6. В методе `initComponents()` найдите следующий фрагмент:

[source,java]
----

jButton3.setText("Exit");
jButton3.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
           jButton3ActionPerformed(evt);
    }
            });
----

В этом месте к элементу графического интерфейса, в данном случае к `jButton3`, добавляется объект прослушивания событий "ActionListener". Интерфейс "ActionListener" имеет метод "actionPerformed" объекта "ActionEvent", который реализуется путем простого вызова обработчика событий `jButton3ActionPerformed`. Теперь эта кнопка реагирует на события действий. Каждый раз при нажатии кнопки создается событие "ActionEvent", которое передается в метод "actionPerformed" интерфейса прослушивания событий, исполняющий код, предусмотренный разработчиком для этого события в обработчике событий.

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

link:/about/contact_form.html?to=3&subject=Feedback:%20Introduction%20to%20GUI%20Building[+Отправить отзыв по этому учебному курсу+]



== Дополнительные сведения

* link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG920[+Реализация графических интерфейсов Java+] в документе _Разработка приложений в IDE NetBeans_
* link:quickstart-gui.html[+Разработка Swing GUI в IDE NetBeans+]
* link:gui-image-display.html[+Обработка изображений в приложении GUI+]
* link:hibernate-java-se.html[+Использование библиотеки Hibernate в приложении Java на базе Swing+]
* link:../../trails/matisse.html[+Учебная карта по приложениям с графическим интерфейсом Java +]
* link:../../trails/java-se.html[+Учебная карта по общим сведениям о разработке на Java+]
* link:http://wiki.netbeans.org/wiki/view/NetBeansUserFAQ#section-NetBeansUserFAQ-GUIEditorMatisse[+GUI Builder – часто задаваемые вопросы+]
* link:http://download.oracle.com/javase/tutorial/uiswing/events/index.html[+Занятие. Создание прослушивателей событий +] с помощью link:http://download.oracle.com/javase/tutorial/index.html[+учебных курсов по Java(tm)+].
