Как сделать кнопку в eclipse

JavaFX наглядное создание простого приложения и нативная упаковка в Eclipse

Сегодня я вам расскажу, как поэтапно с нуля создать простое приложение на JavaFX, что для этого потребуется, покажу как сделать установщик Windows (msi) для вашего приложения.

Как сделать кнопку в eclipse

Для начала нам потребуется среда разработки, будем использовать Eclipse, на данный момент самая последняя версия называется Neon (релиз 22 июня 2016 года) его можно скачать здесь.

Далее качаем инсталлятор, выбираем версию для Java разработчиков, будет предложен путь по умолчанию С:\Users\%USERNAME%\eclipse, экзешник будет лежать там в каталоге java-neon\eclipse.

Теперь для разработки JavaFX приложений и последующей сборки нам потребуется плагин для Eclipse, подробную инструкцию по установке можно найти здесь: www.eclipse.org/efxclipse/install.html

Важно! Перед тем как приступать к созданию приложения, необходимо стандартно применяемую JRE без компилятора поменять на JDK. Подключим предварительно скачанную JDK и сделаем ее дефолтной: заходим в настройки Window->Preferences:

Как сделать кнопку в eclipse

Выбираем стандартную виртуальную машину:

Как сделать кнопку в eclipse

Указывает путь к директории на вашем компьютере, где лежит, предварительно скаченная версия JDK:

Как сделать кнопку в eclipse

После нажатия на Finish, устанавливаем JDK как дефолтный:

Как сделать кнопку в eclipse

Также укажем ее как дефолтную для JavaSE-1.8:

Как сделать кнопку в eclipse

Теперь приступим к самому интересному, создадим новый проект JavaFX File->New->Project…

Как сделать кнопку в eclipse

Настраиваем проект, думаю тут все очевидно:

Как сделать кнопку в eclipse

Напишем наше небольшое приложение (в директории с Main.java должны лежать: иконка favicon-16×16.png и звук click.wav):

Как сделать кнопку в eclipse

Отлично, теперь нам надо запаковать это приложения для конечного пользователя, в корневой директории лежит предназначенный для этого файл build.fxbuild, который генерирует xml файл, использующийся в свою очередь сборщиком Ant, настроим этот файл:

Как сделать кнопку в eclipse

Запускаем Ant билд:

Как сделать кнопку в eclipse

После сборки появится установщик msi, который можно запускать (приложение по дефолты ставится в C:\Program Files\HabrApp):

Как сделать кнопку в eclipse

Эта стать-памятка про нативную сборку установочного файла средствами Eclipse, она не разбирает тонкостей JavaFx. Всем спасибо за внимание.

Источник

Создаем расширение для Eclipse: шаг за шагом

Создание подключаемого модуля Eclipse для разработки кода, соответствующего принятым стандартам кодирования

Как сделать кнопку в eclipse

Цель этой статьи не только в том, чтобы описать процесс создания нового модуля для Eclipse, хотя и это рассматривается достаточно детально. В процессе создания модуля вы узнаете, как лучше использовать средства, предоставляемые интегрированной средой разработки Eclipse (Eclipse IDE), для того, чтобы быстро выполнить все шаги, описанные в статье. Статья также научит вас, как расширить Eclipse, чтобы добавить дополнительные функциональные возможности в ваш модуль. После ознакомления со статьей вы сможете использовать мастер создания модулей, входящий в Eclipse IDE, для создания новых расширений Eclipse. Кроме того, вы узнаете, как расширять классы и реализовать интерфейсы, которые вы можете использовать для добавления окон настроек, страниц для задания параметров, а также для копирования информации с использованием функции «drag-and-drop».

Выполнение инструкций, описанных в статье, предполагает хорошее понимание концепций объекто-ориентированного программирования, таких как разработка интерфейсов и расширение классов. Необходимо иметь четкое представление о том, что такое интегрированная среда разработки Eclipse, однако опыт создания модулей для Eclipse не требуется. Инструкции и примеры, используемые в статье, расчитаны на версию Eclipse 3.2 или более позднюю. Для тестирования модуля требуется вложенный запуск Eclipse, так что убедитесь, что объем оперативной памяти на вашем компьютере позволяет одновременный запуск двух экземпляров Eclipse.

Начинаем разработку модуля

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

Модуль фрагментов кода для Example.com предоставляет следующие возможности:

Создание проекта

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

Нажмите Next для перехода к следующему шагу. О том, какую именно функциональность добавят в ваш модуль выбранные шаблоны, вы можете узнать в разделе Изучаем шаблоны.

Как только Eclipse завершит процесс создания нового проекта, в вашем рабочем пространстве появится проект SnippetsPlugin, включающий в себя некий набор файлов. Шаблоны, которые были выбраны в процессе создания проекта, сгенерировали несколько пакетов, включающих в себя исходные файлы Java™. Подробнее ознакомиться с каждым из использованных шаблонов вы сможете в разделе Изучаем шаблоны. Если же вы и так хорошо знакомы с шаблонами модулей или просто не хотите тратить время, вникая во все детали, переходите к разделу Тестирование подключаемого модуля.

Изучаем шаблоны

Создание модуля Eclipse по шаблонам может вызвать у человека, незнакомого со всеми деталями разработки модулей, вполне закономерный вопрос: что именно происходит в процессе создания нового проекта? Если описанные выше шаги выполнены корректно, то созданный проект включает в себя целый набор пакетов, содержащих как файлы с исходными кодом на Java, так и другие файлы. Новичок в деле разработки модулей Eclipse скорее всего затруднится ответить на вопрос, что это за файлы, и как они попали в проект. Подобное непонимание является нежелательным побочным эффектом использования мастера создания модулей.

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

Среда Eclipse IDE определяет набор операций (action set) как набор возможных действий, привязанных к пунктам меню или кнопкам, которые составляют одну логическую группу. Модуль может иметь определенный набор операций, так как кажется вполне естественным объединить все операции, осуществляемые в рамках функциональности модуля, в одну группу.

Рисунок 1. Конфигурация набора операций

Как сделать кнопку в eclipse

Как сделать кнопку в eclipse

Когда вы запускаете модуль в Eclipse, набор операций «Hello, world» добавляет пункт Sample Menu в главное меню Eclipse. Текст заголовка меню определяется в файле plugin.xml, как показано в листинге 1:

Листинг 1. Определение набора операций модуля в файле plugin.xml
Листинг 2. Mетод run() класса SnippetAction

Контекстное меню

Шаблон контекстного меню позволяет добавить в ваш модуль меню, которое выводится на экран при нажатии правой кнопки мышки на файл, — такое меню еще называют всплывающим. Если вы щелкнете правой кнопкой мышки на имени файла в представлении Package Explorer, откроется меню, озаглавленное Snippet Submenu и содержащее один элемент New Action. Конфигурация шаблона контекстного меню показана на рисунке 2.

Рисунок 2. Конфигурация контекстного меню

Как сделать кнопку в eclipse

Как сделать кнопку в eclipse

Значение поля Submenu Name определяет название подменю контекстного меню. Для уже созданного проекта это значение определяется в файле plugin.xml и может при желании быть изменено.

Поле Action Label определяет название пункта подменю. Это значение также хранится в файле plugin.xml и может быть изменено в процессе разработки модуля.

Поле Java Package Name задает имя пакета, в котором содержится новый класс. Имя класса определяется значением поля Action Class. Эти значения, так же как и предыдущие, могут быть изменены в процессе работы над модулем, однако переименование пакета и класса потребует дополнительных шагов. При изменении названий пакета и класса вам необходимо будет использовать функцию Refactor Eclipse IDE, чтобы корректно изменить все ссылки на пакет и класс в файле plugin.xml.

В листинге 3 представлен фрагмент файла plugin.xml, описывающий функциональность контекстного меню.

Листинг 3. Точка расширения контекстного меню

Приведенный выше пример snippets.info следует изменить в соответствии с созданной вами структурой языков и категорий. После добавления файла информации поместите в соотвествующие директории фрагменты кода. Пример окончательной структуры директорий показан в листинге 18.

Листинг 18. Структура директорий хранилища фрагментов кода

Просмотр изменений

Теперь, когда реализованы все необходимые классы и существует источник фрагментов кода, мы можем проверить, как работают модификации вида, запустив наш модуль как вложенный экземпляр Eclipse. Если все изменения были проделаны правильно, вы должны увидеть дерево фрагментов, как показано на рисунке 6.

Рисунок 6. Вид, отображающий дерево фрагментов

Как сделать кнопку в eclipse

Если загрузка информации о фрагментах кода работает корректно, то можно переходить к следующему шагу: добавлению кода для открытия фрагментов в редакторе.

Создание класса InsertSnippetAction

Код нового класса InsertSnippetAction показан в листинге 19. Он определяет метод run() для вывода текстового сообщения. Такое сообщение необходимо для проверки того, что класс корректно написан и правильно загружается.

Листинг 19. Класс InsertSnippetAction с тестовым вариантом метода run()

Модификация SnippetView

Листинг 20. Класс SnippetsView

При тестировании модуля убедитесь, что двойной щелчок мышкой на элементе дерева выводит сообщение «Running insert action on XXX», где XXX – соответствующий элемент дерева в виде Example.com Snippets View. То же самое действие должно выполниться, если вы нажмете правую кнопку мышки и выберете пункт Action 1 в контекстном меню, или если вы нажмете соответствующую кнопку в меню вида.

Окончательный код InsertAction

Листинг 21. Окончательный вариант метода run() класса InsertSnippetAction
Листинг 22. Метод getMergedSnippetContent()

Добавление ввода значений пользователем

Создание механизма, позволяющего пользователю вводить значения для переменных фрагмента кода, является на удивление простой задачей, хотя и потребует довольно большого количества деталей. Эти детали представляют собой элементы управления, предоставляемые стандартным набором Standard Widget Toolkit. До сих пор нам не приходилось о них думать, так как всю «грязную» работу за нас выполняли шаблоны. Однако при правильном порядке построения все эти элементы достаточно легко соединяются друг с другом. В этом разделе мы создадим страницу мастера, содержащую таблицу для ввода значений переменных пользователем.

Класс SnippetVariablesWizardPage

Листинг 23. Класс SnippetVariablesWizardPage

Класс SnippetVariableValue

Это простой внутренний класс для хранения данных, вывода их в виде таблицы и редактирования данных пользователем. Класс определяет два внешних (public) поля: одно соответствует названию параметра или переменной, в другом хранится значение этого параметра или переменной, введенное пользователем. Массив таких объектов и используется для заполнения таблицы мастером, по одному объекту класса SnippetVariableValue для каждой переменной фрагмента кода.

Листинг 24. Класс SnippetVariableValue

Класс SnippetVariableContentProvider

Листинг 25. Класс SnippetVariableContentProvider

Класс SnippetVariableLabelProvider

Листинг 26. Класс SnippetVariableLabelProvider

Таблица не содержит никаких графических элементов, только текст, так что метод getColumnImage() возвращает пустое значение. Однако метод getColumnText() небходимо модифицировать, чтобы он возвращал правильный текст для номера столбца. Существуют более элегантные решения, нежели непосредственное кодирование логики извлечения нужных значений, однако мы не будем заострять на этом внимание, чтобы не отклоняться от основной цели нашей работы.

Класс SnippetVariableCellModifier

Листинг 27. Класс SnippetVariableCellModifier
Не видите своих изменений?

Метод modify() включает один очень важный шаг: вызов update() для сохранения изменений в таблице. Если вы пропустили этот вызов, то измененные значения переменных в таблице не сохраняются.

Листинг 28. Класс SnippetVariablesWizard class

Открытая в Eclipse страница мастера ввода значений переменных выглядит так, как показано на рисунке 7.

Рисунок 7. Страница мастера ввода значений переменных

Как сделать кнопку в eclipse

Как сделать кнопку в eclipse

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

Обработка новых событий

Теперь, когда вы добавили мастер ввода значений переменных и страницу мастера, ваш модуль умеет загружать фрагменты кода, используя провайдер, и изменять переменные кода, используя мастер ввода значений. Кроме того, модуль умеет реагировать на двойной щелчок мышкой и на нажатие правой кнопки мышки на элементе в панели вида. Расширим функциональность модуля, добавив возможность копирования путем перетаскивания (drag-and-drop). Eclipse Platform API включает классы, которые помогут реализовать «drag-and-drop»-копирование из вида Example.com Snippets View в редактор. Новая функциональность будет работать следующим образом: при выделении мышкой элемента дерева фрагментов и перетаскивании его в окно редактора запустится мастер ввода значений переменных, а затем результирующий фрагмент кода будет вставлен в редактор.

Класс SnippetDragDropListener

Листинг 29. Класс SnippetDragDropListener

Добавление функциональности drag-and-drop в модуль

Прежде чем использовать функциональность drag-and-drop, нужно вызвать метод для добавления поддержки drag-and-drop к компоненту TreeViewer вида Example.com Snippets view. Код, который выполняет это действие, показан в листинге 30.

Листинг 30. Добавление поддержки drag-and-drop

Пользовательские настройки модуля

Модификация класса SnippetsPreferencePage

Окончательный код метода настроек модуля createFieldEditors() показан в листинге 31.

Листинг 31. Метод createFieldEditors() класса SnippetsPreferencePage

Не забудьте изменить имена констант в классе PreferenceConstants так, чтобы они отражали содержимое. Кроме того, модифицируйте метод initializeDefaultPreferences() класса PreferenceInitializer для задания подходящих значений по умолчанию. Например, назначьте имя класса провайдера фрагментов кода, соответствующее имени настоящего класса, и установите значение базовой директории, соответствующее реальному пути к хранилищу фрагментов кода.

Заключение

Расширения класса TransferDragSourceListener могут использоваться для добавления «drag-and-drop» переноса данных из созданных вами видов в другие части среды разработки Eclipse IDE. Расширения классов Wizard и WizardPage позволяют реализовать новые мастера и страницы мастеров. Используя добавленный мастер, вы можете получать информацию от пользователя и запускать свои процессы, базируясь на этой информации. И наконец, подключаемый модуль можно легко протестировать, запустив его как новый экземпляр Eclipse. Вы можете проверить, как выглядит и работает модуль сразу же по завершении тех или иных модификаций.

Ресурсы для скачивания

Похожие темы

Комментарии

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

Источник

Создаем расширение для Eclipse: шаг за шагом (исходники)

Цель этой статьи не только в том, чтобы описать процесс создания нового модуля для Eclipse, хотя и это рассматривается достаточно детально. В процессе создания модуля вы узнаете, как лучше использовать средства, предоставляемые интегрированной средой разработки Eclipse (Eclipse IDE), для того, чтобы быстро выполнить все шаги, описанные в статье. Статья также научит вас, как расширить Eclipse, чтобы добавить дополнительные функциональные возможности в ваш модуль. После ознакомления со статьей вы сможете использовать мастер создания модулей, входящий в Eclipse IDE, для создания новых расширений Eclipse. Кроме того, вы узнаете, как расширять классы и реализовать интерфейсы, которые вы можете использовать для добавления окон настроек, страниц для задания параметров, а также для копирования информации с использованием функции «drag-and-drop».

Выполнение инструкций, описанных в статье, предполагает хорошее понимание концепций объекто-ориентированного программирования, таких как разработка интерфейсов и расширение классов. Необходимо иметь четкое представление о том, что такое интегрированная среда разработки Eclipse, однако опыт создания модулей для Eclipse не требуется. Инструкции и примеры, используемые в статье, расчитаны на версию Eclipse 3.2 или более позднюю. Для тестирования модуля требуется вложенный запуск Eclipse, так что убедитесь, что объем оперативной памяти на вашем компьютере позволяет одновременный запуск двух экземпляров Eclipse.

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

Модуль фрагментов кода для Example.com предоставляет следующие возможности:

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

Нажмите Next для перехода к следующему шагу. О том, какую именно функциональность добавят в ваш модуль выбранные шаблоны, вы можете узнать в разделе Изучаем шаблоны.

Как только Eclipse завершит процесс создания нового проекта, в вашем рабочем пространстве появится проект SnippetsPlugin, включающий в себя некий набор файлов. Шаблоны, которые были выбраны в процессе создания проекта, сгенерировали несколько пакетов, включающих в себя исходные файлы Java™. Подробнее ознакомиться с каждым из использованных шаблонов вы сможете в разделе Изучаем шаблоны. Если же вы и так хорошо знакомы с шаблонами модулей или просто не хотите тратить время, вникая во все детали, переходите к разделу Тестирование подключаемого модуля.

Создание модуля Eclipse по шаблонам может вызвать у человека, незнакомого со всеми деталями разработки модулей, вполне закономерный вопрос: что именно происходит в процессе создания нового проекта? Если описанные выше шаги выполнены корректно, то созданный проект включает в себя целый набор пакетов, содержащих как файлы с исходными кодом на Java, так и другие файлы. Новичок в деле разработки модулей Eclipse скорее всего затруднится ответить на вопрос, что это за файлы, и как они попали в проект. Подобное непонимание является нежелательным побочным эффектом использования мастера создания модулей.

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

Среда Eclipse IDE определяет набор операций ( action set ) как набор возможных действий, привязанных к пунктам меню или кнопкам, которые составляют одну логическую группу. Модуль может иметь определенный набор операций, так как кажется вполне естественным объединить все операции, осуществляемые в рамках функциональности модуля, в одну группу.

Рисунок 1. Конфигурация набора операций
Как сделать кнопку в eclipse

Когда вы запускаете модуль в Eclipse, набор операций «Hello, world» добавляет пункт Sample Menu в главное меню Eclipse. Текст заголовка меню определяется в файле plugin.xml, как показано в листинге 1:

Рисунок 2. Конфигурация контекстного меню
Как сделать кнопку в eclipse

Значение поля Submenu Name определяет название подменю контекстного меню. Для уже созданного проекта это значение определяется в файле plugin.xml и может при желании быть изменено.

Поле Action Label определяет название пункта подменю. Это значение также хранится в файле plugin.xml и может быть изменено в процессе разработки модуля.

В листинге 3 представлен фрагмент файла plugin.xml, описывающий функциональность контекстного меню.

Приведенный выше пример snippets.info следует изменить в соответствии с созданной вами структурой языков и категорий. После добавления файла информации поместите в соотвествующие директории фрагменты кода. Пример окончательной структуры директорий показан в листинге 18.

Теперь, когда реализованы все необходимые классы и существует источник фрагментов кода, мы можем проверить, как работают модификации вида, запустив наш модуль как вложенный экземпляр Eclipse. Если все изменения были проделаны правильно, вы должны увидеть дерево фрагментов, как показано на рисунке 6.

Рисунок 6. Вид, отображающий дерево фрагментов
Как сделать кнопку в eclipse

Если загрузка информации о фрагментах кода работает корректно, то можно переходить к следующему шагу: добавлению кода для открытия фрагментов в редакторе.

Код нового класса InsertSnippetAction показан в листинге 19. Он определяет метод run() для вывода текстового сообщения. Такое сообщение необходимо для проверки того, что класс корректно написан и правильно загружается.

Создание механизма, позволяющего пользователю вводить значения для переменных фрагмента кода, является на удивление простой задачей, хотя и потребует довольно большого количества деталей. Эти детали представляют собой элементы управления, предоставляемые стандартным набором Standard Widget Toolkit. До сих пор нам не приходилось о них думать, так как всю «грязную» работу за нас выполняли шаблоны. Однако при правильном порядке построения все эти элементы достаточно легко соединяются друг с другом. В этом разделе мы создадим страницу мастера, содержащую таблицу для ввода значений переменных пользователем.

Это простой внутренний класс для хранения данных, вывода их в виде таблицы и редактирования данных пользователем. Класс определяет два внешних (public) поля: одно соответствует названию параметра или переменной, в другом хранится значение этого параметра или переменной, введенное пользователем. Массив таких объектов и используется для заполнения таблицы мастером, по одному объекту класса SnippetVariableValue для каждой переменной фрагмента кода.

Таблица не содержит никаких графических элементов, только текст, так что метод getColumnImage() возвращает пустое значение. Однако метод getColumnText() небходимо модифицировать, чтобы он возвращал правильный текст для номера столбца. Существуют более элегантные решения, нежели непосредственное кодирование логики извлечения нужных значений, однако мы не будем заострять на этом внимание, чтобы не отклоняться от основной цели нашей работы.

Метод modify() включает один очень важный шаг: вызов update() для сохранения изменений в таблице. Если вы пропустили этот вызов, то измененные значения переменных в таблице не сохраняются.

Открытая в Eclipse страница мастера ввода значений переменных выглядит так, как показано на рисунке 7.

Рисунок 7. Страница мастера ввода значений переменных
Как сделать кнопку в eclipse

Теперь, когда вы добавили мастер ввода значений переменных и страницу мастера, ваш модуль умеет загружать фрагменты кода, используя провайдер, и изменять переменные кода, используя мастер ввода значений. Кроме того, модуль умеет реагировать на двойной щелчок мышкой и на нажатие правой кнопки мышки на элементе в панели вида. Расширим функциональность модуля, добавив возможность копирования путем перетаскивания (drag-and-drop). Eclipse Platform API включает классы, которые помогут реализовать «drag-and-drop»-копирование из вида Example.com Snippets View в редактор. Новая функциональность будет работать следующим образом: при выделении мышкой элемента дерева фрагментов и перетаскивании его в окно редактора запустится мастер ввода значений переменных, а затем результирующий фрагмент кода будет вставлен в редактор.

Прежде чем использовать функциональность drag-and-drop, нужно вызвать метод для добавления поддержки drag-and-drop к компоненту TreeViewer вида Example.com Snippets view. Код, который выполняет это действие, показан в листинге 30.

Окончательный код метода настроек модуля createFieldEditors() показан в листинге 31.

Не забудьте изменить имена констант в классе PreferenceConstants так, чтобы они отражали содержимое. Кроме того, модифицируйте метод initializeDefaultPreferences() класса PreferenceInitializer для задания подходящих значений по умолчанию. Например, назначьте имя класса провайдера фрагментов кода, соответствующее имени настоящего класса, и установите значение базовой директории, соответствующее реальному пути к хранилищу фрагментов кода.

Расширения класса TransferDragSourceListener могут использоваться для добавления «drag-and-drop» переноса данных из созданных вами видов в другие части среды разработки Eclipse IDE. Расширения классов Wizard и WizardPage позволяют реализовать новые мастера и страницы мастеров. Используя добавленный мастер, вы можете получать информацию от пользователя и запускать свои процессы, базируясь на этой информации. И наконец, подключаемый модуль можно легко протестировать, запустив его как новый экземпляр Eclipse. Вы можете проверить, как выглядит и работает модуль сразу же по завершении тех или иных модификаций.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *