| // |
| // 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. |
| // |
| |
| = Работа с базой данных Java DB (Derby) |
| :jbake-type: tutorial |
| :jbake-tags: tutorials |
| :jbake-status: published |
| :icons: font |
| :syntax: true |
| :source-highlighter: pygments |
| :toc: left |
| :toc-title: |
| :description: Работа с базой данных Java DB (Derby) - Apache NetBeans |
| :keywords: Apache NetBeans, Tutorials, Работа с базой данных Java DB (Derby) |
| |
| Вь этом документе описывается настройка соединения с базой данных link:http://www.oracle.com/technetwork/java/javadb/overview/index.html[+Java DB+] в IDE NetBeans. По завершении установки подключения можно начинать работу с базой данных в среде IDE, позволяющей создавать таблицы, заполнять их данными, выполнять операторы и запросы SQL и т.д. |
| |
| База данных Java DB является поддерживаемым корпорацией Sun дистрибутивом link:http://db.apache.org/derby/[+Apache Derby+]. Java DB - полностью транзакционный безопасный сервер базы данных на основе стандартов, написанный целиком на языке Java, полностью поддерживающий технологии SQL, интерфейс API JDBC и Java EE. База данных Java DB поставляется с сервером приложений link:http://glassfish.dev.java.net/[+GlassFish +], а также включена в пакет link:http://download.oracle.com/javase/6/[+JDK 6+]. Дополнительные сведения о базе данных Java DB приведены в link:http://www.oracle.com/technetwork/java/javadb/documentation/index.html[+официальной документации+]. |
| |
| |
| image::images/netbeans-stamp-80-74-73.png[title="Содержимое этой страницы применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0"] |
| |
| |
| *Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.* |
| |
| |=== |
| |Программное обеспечение или материал |Требуемая версия |
| |
| |link:https://netbeans.org/downloads/index.html[+IDE NetBeans+] |7.2, 7.3, 7.4, 8.0, Java EE |
| |
| |link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Комплект для разработчика на языке Java (JDK)+] |Версия 7 или 8 |
| |
| |Java DB |версии 10.4.x, 10.5.x |
| |=== |
| |
| *Примечание.* |
| |
| * Java DB был установлен при установке JDK 7 или JDK 8 (за исключением Mac OS X). При использовании Mac OS X можно загрузить и установить link:http://www.oracle.com/technetwork/java/javadb/downloads/index.html[+базу данных Java+] вручную или использовать базу данных Java, установленную с помощью версии Java EE средства установки IDE NetBeans. |
| |
| |
| == Настройка базы данных |
| |
| При регистрации сервера GlassFish Server в установленной среде IDE NetBeans база данных Java DB также будет зарегистрирована. Для получения дополнительных сведений обратитесь к разделу <<starting,Запуск сервера и создание базы данных>>. |
| |
| Если сервер GlassFish загружен отдельно, и требуется помощь в регистрации его в среде IDE NetBeans, ознакомьтесь со справкой по среде IDE (F1), раздел *Регистрация экземпляра сервера GlassFish*. |
| |
| Если вы только что самостоятельно загрузили Java DB, выполните следующие действия. |
| |
| 1. Выполните самораспаковывающийся файл. В месте хранения файла будет создана папка javadb. Если требуется, чтобы сервер базы данных находился не в той папке, в которую он был извлечен, его необходимо переместить сразу по завершении загрузки Java DB. |
| 2. Создайте в системе новый каталог для использования в качестве домашнего каталога для отдельных экземпляров сервера базы данных. Например, можно создать эту папку в корневом каталоге базы данных Java DB (javadb) или в другой папке. |
| |
| Перед продолжением работы необходимо изучить компоненты, расположенные в корневом каталоге Java DB. |
| |
| * Подкаталог ``demo`` содержит демонстрационные версии программ. |
| * Подкаталог ``bin`` содержит сценарии для выполнения служебных программ и настройки среды. |
| * Подкаталог ``javadoc`` содержит документацию по интерфейсу API, созданную из комментариев исходного кода. |
| * Подкаталог ``docs`` содержит документацию по Java DB. |
| * Подкаталог ``lib`` содержит архивы JAR базы данных Java DB. |
| |
| |
| == Регистрация базы данных в IDE NetBeans |
| |
| Теперь, после настройки базы данных, выполните следующие шаги для регистрации Java DB в среде IDE. |
| |
| 1. В окне 'Службы' щелкните правой кнопкой мыши узел базы данных DB Database и выберите 'Свойства', чтобы открыть диалоговое окно 'Настройки DB Java'. |
| 2. В текстовое поле "Установка Java DB" введите путь к корневому каталогу Java DB (javadb), указанный в предыдущем шаге. |
| 3. В качестве местоположения базы данных используйте местоположение по умолчанию, если оно предлагается. Нажмите кнопку "OK". |
| |
| Например, на компьютере под управлением Windows местоположение по умолчанию может иметь следующий вид: ``C:\Documents and Settings\username\.netbeans-derby`` . |
| |
| image::images/javadb-props.png[title="пример настроек по умолчанию сервера и базы данных Java DB"] |
| |
| *Примечание.* Если поле 'Расположение базы данных' пустое необходимо указать путь к каталогу, который содержит базы данных. Если каталога нет, для баз данных потребуется создать каталог. |
| |
| |
| == Запуск сервера и создание базы данных |
| |
| Параметры меню базы данных Java DB отображаются при щелчке правой кнопкой мыши узла Java DB в окне 'Службы'. Появившиеся пункты контекстного меню позволяют запускать сервер базы данных и останавливать его работу, создавать новые экземпляры базы данных, а также регистрировать серверы базы данных в среде IDE (как описано в предыдущем действии). Запуск сервера базы данных. |
| |
| 1. В окне 'Службы' щелкните правой кнопкой мыши узел Java DB и выберите 'Запустить сервер'. Обратите внимание на следующую информацию, выведенную в окне "Вывод" и сообщающую о запуске сервера: |
| image::images/output-start-db.png[] |
| |
| [start=2] |
| . Правой кнопкой мыши щелкните узел Java DB и выберите "Создать базу данных", чтобы открыть диалоговое окно "Создание базы данных DB". |
| |
| [start=3] |
| . В качестве имени базы данных введите ``contact`` . |
| |
| [start=4] |
| . В качестве имени пользователя и пароля введите ``nbuser`` . Нажмите кнопку "ОК". |
| image::images/javadb-createdb.png[] |
| |
| *Примечание.* Поле "Расположение базы данных" указан путь по умолчанию, определенный во время установки Java DB из GlassFish. Если база данных Java DB установлена отдельно, это местоположение может быть другим. |
| |
| После создания базы данных при развертывании узла 'Базы данных' в окне 'Службы', можно увидеть, что среда IDE создала соединение с базой данных и что база данных была добавлена в список под узлом Java DB. |
| |
| |
| == Подключение к базе данных |
| |
| Итак, сервер базы данных успешно запущен, и в среде IDE создан экземпляр базы данных с именем ``contact`` . В окне 'Службы' в IDE вы можете выполнять следующие общие задачи в структурах баз данных. |
| |
| * создание, удаление, изменение таблиц; |
| * заполнение таблиц данными; |
| * просмотр табличных данных; |
| * выполнение операторов SQL и запросов. |
| |
| Для начала работы с базой данных ``contact`` необходимо создать подключение к ней. Для соединения с базой данных ``контактов`` выполните следующие шаги. |
| |
| 1. Разверните узел 'Базы данных' в окне 'Службы' и найти новую базу данных и узлы подключения к базе данных. |
| |
| Узел подключения к базе данных ( image::images/connection-node-icon.png[]) отображается ниже узла 'Базы данных'. Имя базы данных отображается ниже узла Java DB. |
| |
| image::images/services-window.png[] |
| |
| *Примечание.* Также отобразится соединение с базой данных `образец [app on APP]`, которое является схемой базы данных по умолчанию. |
| |
| |
| . Щелкните правой кнопкой мыши узел подключения к базе данных *контактов* ( ``jdbc:derby://localhost:1527/contact [nbuser on NBUSER]`` ) и выберите команду "Подключить". |
| |
| Отобразится весь значок узла подключения ( image::images/connection-node-icon.png[]), что означает, что соединение установлено успешно. |
| |
| [start=3] |
| . Задайте удобное отображаемое имя для базы данных, щелкнув правой кнопкой мыши узел подключения к базе данных ( ``jdbc:derby://localhost:1527/contact [nbuser on NBUSER]`` ) и выберите 'Переименовать'. В текстовом поле введите ``Contact DB`` и нажмите кнопку "ОК". |
| |
| |
| == Создание таблиц |
| |
| Созданная база данных ``contact`` в настоящее время пуста. Она еще не наполнена таблицами или данными. В IDE NetBeans можно добавить таблицу баз данных либо с помощью диалогового окна 'Создать таблицу' или путем ввода оператора SQL и запуска его напрямую из редактора SQL. Можно использовать оба метода: |
| |
| * <<createTable,Использование диалогового окна "Создание таблицы">> |
| * <<sqlEditor,Использование редактора SQL>> |
| |
| |
| === Использование диалогового окна "Создание таблицы" |
| |
| 1. Разверните узел подключения ``Contact DB`` и обратите внимание, что он имеет несколько подузлов. В этом учебном курсе рассматривается схема "app". Щелкните правой кнопкой мыши узел "APP" и выберите "Установить как схему по умолчанию". |
| |
| |
| [start=2] |
| . Разверните узел APP и обратите внимание, что он имеет три подкаталога: "Таблицы", "Представления" и "Процедуры". Правой кнопкой мыши щелкните узел 'Таблицы' и выберите 'Создать таблицу', чтобы открыть диалоговое окно 'Создание таблицы'. |
| |
| [start=3] |
| . Введите ``FRIENDS`` в текстовое поле "Имя таблицы". |
| |
| [start=4] |
| . Нажмите кнопку "Добавить столбец". Появится диалоговое окно "Добавить столбец". |
| |
| [start=5] |
| . В поле "Имя столбца" введите ``id`` . В поле "Тип данных" выберите элемент ``INTEGER`` в раскрывающемся списке. |
| |
| [start=6] |
| . При определенных обстоятельствах может потребоваться установить флажок "Первичный ключ" для указания того, что данный столбец является первичным ключом для таблицы. Все таблицы, созданные в реляционных базах данных, должны содержать первичный ключ. Обратите внимание, что при выборе флажка "Первичный ключ" выполняется автоматическая установка флажков "Индекс" и "Уникальный", а флажок "Значение отсутствует" при этом снимается. Это объясняется тем, что первичные ключи используются для определения уникальной строки базы данных и по умолчанию применяются как индекс таблицы. Поскольку все строки должны быть определены, первичные ключи не могут иметь значение ``Null`` . |
| |
| image::images/add-column.png[] |
| |
| |
| . Теперь повторите эту процедуру, определив поля, как показано на таблице ниже. |
| |
| |=== |
| |
| |Ключ |Индекс |Значение отсутствует |Уникальный |Имя таблицы |Тип данных |Размер |
| |
| |[установлен] |[установлен] |[установлен] |идентификатор |INTEGER |0 |
| |
| |[установлен] |firstName |VARCHAR |20 |
| |
| |[установлен] |lastName |VARCHAR |20 |
| |
| |[установлен] |nickName |VARCHAR |30 |
| |
| |[установлен] |friendSince |DATE |0 |
| |
| |[установлен] |эл. почта |VARCHAR |60 |
| |=== |
| |
| В создаваемой таблице ``FRIENDS`` для каждой записи контакта содержатся следующие данные: |
| |
| * *имя;* |
| * *фамилия;* |
| * *псевдоним;* |
| * *дата включения в список контактов;* |
| * *адрес электронной почты.* |
| image::images/create-table-friends.png[] |
| |
| [start=9] |
| . |
| Если диалоговое окно "Создание таблицы" содержит значения, идентичные вышеописанным, нажмите кнопку "ОК". В IDE создается таблица ``FRIENDS`` в базе данных и отображается новый узел таблицы ``FRIENDS`` (image::images/table-node.png[]) ниже узла 'Таблицы'. Под узлом таблицы перечислены столбцы (поля), начиная с первичного ключа (image::images/primary-key-icon.png[]). |
| |
| image::images/friends-table.png[] |
| |
| |
| === Использование редактора SQL |
| |
| 1. В окне 'Службы' либо щелкните правой кнопкой мыши узел подключения ``Contact DB`` или узел 'Таблицы' под ним и выберите пункт 'Выполнить команду'. В главном окне редактора SQL отобразится пустой холст. |
| 2. Введите в редактор SQL запрос, как описывается ниже. Определение создаваемой таблицы COLLEAGUES: |
| |
| [source,sql] |
| ---- |
| |
| CREATE TABLE "COLLEAGUES" ( |
| "ID" INTEGER not null primary key, |
| "FIRSTNAME" VARCHAR(30), |
| "LASTNAME" VARCHAR(30), |
| "TITLE" VARCHAR(10), |
| "DEPARTMENT" VARCHAR(20), |
| "EMAIL" VARCHAR(60) |
| ); |
| ---- |
| |
| *Примечание * Операторы и запросы, сформированные в редакторе SQL, анализируются в соответствии с нормами языка структурированных запросов (Structured Query Language, SQL). Для SQL характерны строгие синтаксические правила, применяемые также при работе с редактором среды IDE. Синтаксис SQL также может быть различаться в зависимости от системы управления базами данных. Дополнительные сведения приведены в link:http://www.oracle.com/technetwork/java/javadb/documentation/index.html[+Справочном пособии по JavaDB+]. |
| |
| |
| . Нажмите кнопку 'Выполнить SQL' (image::images/run-sql-button.png[]) на панели задач в верхней части редактора (Ctrl-Shift-E) для выполнения запроса. В окне "Вывод" (CTRL+4) будет выведено сообщение об успешном выполнении оператора. |
| |
| image::images/run-query.png[] |
| |
| |
| . Для проверки изменений щелкните правой кнопкой мыши узел подключения ``Contact DB`` в окне 'Службы' и выберите 'Обновить'. В результате этого действия будет произведено обновление компонента пользовательского интерфейса среды выполнения до текущего состояния указанной базы данных. Этот шаг необходим при запуске запросов из редактора SQL в IDE NetBeans. Обратите внимание, что новый зузел таблицы COLLEAGUES (image::images/table-node.png[]) теперь отображается ниже 'Таблицы' в окне 'Службы'. |
| |
| |
| == Добавление данных в таблицу |
| |
| После того, когда в базе данных ``contact`` уже создана одна или несколько таблиц, можно начинать заполнять их данными. Существует несколько способов добавления записей в таблицу: |
| |
| * <<sqlstatement,Запишите в редакторе SQL оператор SQL>>, который предоставляет значение для каждого поля в схеме таблицы. |
| * <<usesqleditor,Используйте редактор SQL>> для добавления записей в таблицу. |
| * <<using,Используйте внешний сценарий SQL>> для импорта записей в таблицу. |
| |
| Для получения сведений об использовании всех описанных методов заполнения таблицы `` FRIENDS`` данными обратитесь к указанным ниже разделам. |
| |
| |
| === Выполнение оператора SQL |
| |
| 1. Разверните 'Таблицы' под узлом ``Contact DB`` в окне 'Службы', щелкните правой кнопкой мыши таблицу ``FRIENDS`` и выберите 'Выполнить команду', чтобы открыть окно редактора SQL. |
| 2. Введите в окне редактора SQL следующий оператор: |
| |
| [source,sql] |
| ---- |
| |
| INSERT INTO APP.FRIENDS VALUES (1,'Theodore','Bagwell','T-Bag','2004-12-25','tbag@foxriver.com') |
| ---- |
| |
| При вводе можно использовать функцию автозавершения кода редактора SQL. |
| |
| |
| . Щелкните правой кнопкой мыши в пространстве внутри редактора SQL и выберите команду "Выполнить оператор". В окне "Вывод" появится сообщение об успешном выполнении оператора. |
| . Чтобы убедиться, что новая запись была добавлена к таблице ``FRIENDS`` щелкните правой кнопкой мыши узел таблицы ``FRIENDS`` в окне 'Службы' и выберите 'Просмотреть данные'. |
| |
| При выборе команды "Просмотреть данные" на верхней панели редактора SQL автоматически создается запрос на выбор всех данных таблицы. На нижней панели редактора SQL выводятся выходные данные оператора. В этом случае таблица ``FRIENDS`` будет отображена на нижней панели. Обратите внимание, что новая строка была добавлена с данными, предоставленными в операторе SQL. |
| |
| image::images/new-record.png[] |
| |
| |
| === Использование редактора SQL |
| |
| 1. Щелкните правой кнопкой мыши узел таблицы ``FRIENDS`` и выберите "Просмотреть данные" (если просмотр не был выполнен в последнем действии предыдущего раздела). |
| 2. Нажмите кнопку "Вставить записи" ( ``ALT+I`` ) для добавления строки. |
| Появится диалоговое окно "Вставить записи". |
| |
| [start=3] |
| . Щелкните каждую ячейку и введите записи. Обратите внимание, что для ячеек с типом данных срока можно выбрать дату из календаря. Нажмите кнопку "ОК" после выполнения действия. |
| |
| image::images/insert-records.png[] |
| |
| В редакторе SQL можно отсортировать результаты, щелкнув заголовок строки, изменить и удалить существующие записи, а также просмотреть сценарий SQL для действий, выполняемых в редакторе (команда "Показать сценарий SQL" во всплывающем меню). |
| |
| |
| == Удаление таблиц |
| |
| В следующем действии потребуется использование внешнего сценария SQL для создания новой таблицы ``COLLEAGUES`` . При этом в предыдущем действии раздела ``Использование редактора SQL`` уже была создана таблица <<sqlEditor,COLLEAGUES>>. Чтобы убедиться в возможности создавать новые таблицы при помощи сценария SQL, можно удалить существующую таблицу ``COLLEAGUES`` . Для удаления таблицы баз данных выполните следующие действия: |
| |
| 1. Разверните узел 'Таблицы' под узлом соединения с базой данных в окне 'Службы'. |
| 2. Щелкните правой кнопкой мыши таблицу, которую необходимо удалить, и выберите команду "Удалить". |
| |
| |
| == Использование внешнего сценария SQL |
| |
| Ввод команд из внешнего сценария SQL является распространенным способом управления базой данных. Возможно, сценарий SQL уже создан в другом местоположении и требуется выполнить его импорт в IDE NetBeans для запуска в указанной базе данных. |
| |
| В этом упражнении сценарий создаст новую таблицу с именем ``COLLEAGUES`` и заполнит ее данными. Произведите следующие действия, чтобы запустить сценарий в базе данных ``контактов`` . |
| |
| 1. Загрузите link:https://netbeans.org/project_downloads/usersguide/colleagues.sql[+colleagues.sql+] в локальную систему. |
| 2. В главном меню среды IDE выберите "Файл" > "Открыть". В браузере файлов перейдите к месту хранения файла ``colleagues.sql`` и нажмите "Открыть". Сценарий автоматически откроется в редакторе SQL. |
| |
| В качестве альтернативы вы можете скопировать содержимое link:https://netbeans.org/project_downloads/usersguide/colleagues.sql[+colleagues.sql+], а затем открыть редактор SQL и вставить содержимое файла в редактор SQL. |
| |
| |
| . Убедитесь, что подключение к базе данных ``Contact DB`` в раскрывающемся списке "Подключение" на панели инструментов в верхней части редактора выбрано. |
| |
| image::images/conn-drop-down.png[] |
| |
| |
| . Нажмите кнопку 'Выполнить SQL' (image::images/run-sql-button.png[]) на панели инструментов редактора SQL. Сценарий будет выполнен для выбранной базы данных, возвращаемые данные будут выведены в окне "Вывод". |
| . Для проверки изменений щелкните правой кнопкой мыши узел подключения ``Contact DB`` в окне 'Службы' и выберите 'Обновить'. Обратите внимание, что новая таблица ``COLLEAGUES`` сценария SQL теперь отображена в виде узла таблицы ``contact`` в окне "Службы". |
| . Для просмотра данных. содержащихся в новой таблице, щелкните правой кнопкой мыши таблицу ``COLLEAGUES`` и выберите 'Просмотреть данные'. Таким образом можно сравнить данные в таблицах с данными сценария SQL, чтобы убедиться в их соответствии. |
| |
| == Восстановление таблиц из различных баз данных |
| |
| При наличии таблицы из другой базы данных, которую необходимо повторно создать в базе данных, с которой пользователь работает из IDE NetBeans, среда IDE обеспечивает для этой задачи удобный инструмент. Для начала потребуется наличие второй базы данных, зарегистрированной в среде IDE, как описывается в начале учебного курса. Для работы в рамках данного учебного курса используйте ``пример`` базы данных, входящий в пакет Java DB. Этот процесс выполняется в два этапа: сначала необходимо "захватить" определение выбранной таблицы, а потом восстановить таблицу в выбранной базе данных. |
| |
| 1. Подключитесь к базе данных ``sample`` щелкнув правой кнопкой мыши узел подключения под узлом 'Базы данных' в окне 'Службы' и выберите 'Подключение' (имя пользователя и пароль: ``app`` ). |
| 2. Разверните узел 'Таблицы' под подключением к базе данных ``sample`` , щелкните правой кнопкой мыши узел таблицы ``CUSTOMER`` и выберите 'Копировать структуру'. |
| |
| image::images/grab-structure.png[] |
| |
| |
| . В открывшемся диалоговом окне "Сохранение таблицы" укажите путь для сохранения создаваемого файла захвата на компьютере. Нажмите кнопку "Сохранить". |
| |
| Определение выбранной таблицы будет записано в файл захвата. |
| |
| |
| . Разверните узел схемы APP в подключении к базе данных ``Contact DB`` , щелкните правой кнопкой мыши узел 'Таблицы' и выберите 'Повторно создайте таблицу', чтобы открыть открыть диалоговое окно 'Повторно создайте таблицу'. |
| . В открывшемся диалоговом окне "Восстановление таблицы" перейдите по пути хранения файла захвата ``CUSTOMER`` , скопируйте файл и нажмите кнопку "Открыть", чтобы открыть диалоговое окно 'Именование таблицы'. |
| |
| image::images/recreate-table.png[] |
| |
| |
| . В выведенном окне можно изменить имя таблицы или отредактировать ее определение. Для немедленного создания таблицы в базе данных ``contact`` нажмите кнопку "ОК". Узел таблицы ``CUSTOMER`` отобразится под узлом подключения к базе данных ``Contact DB`` . |
| |
| image::images/new-customer-node.png[] |
| |
| Если просмотреть данные в новой таблице ``CUSTOMER`` , то будет видно, что в базе данных отсутствуют записи, но структура таблицы совпадает с скопированной таблицей. |
| |
| link:/about/contact_form.html?to=3&subject=Feedback:%20Working%20With%20Java%20DB[+Мы ждем ваших отзывов+] |
| |
| |
| |
| == Дополнительные сведения |
| |
| Это заключительный раздел учебного курса по работе с базой данных Java DB (Derby). В этом учебном курсе описывается настройка соединения с базой данных DB Java в IDE NetBeans. Также были описаны способы создания, просмотра, изменения и удаления таблиц в окне "Службы" среды IDE. Кроме того, были представлены методы работы с редактором SQL для добавления данных в таблицы и использование возможностей среды IDE для восстановления таблиц при помощи определений из других баз данных. |
| |
| Более подробные учебные курсы представлены на следующих ресурсах: |
| |
| * link:mysql.html[+Подключение к базе данных MySQL+]. Описывается настройка и подключение к базе данных MySQL в IDE NetBeans. |
| * link:../web/mysql-webapp.html[+Создание простого веб-приложения, использующего базу данных MySQL+]. Демонстрируется способ создания простого веб-приложения, устанавливающего подключение к серверу базы данных MySQL. |
| * link:http://platform.netbeans.org/tutorials/nbm-crud.html[+Учебный курс по приложению CRUD для платформы NetBeans.+] В этом учебном курсе демонстрируется способ интеграции базы данных Java DB в приложение, работающее на платформе NetBeans. |