Как создать оболочку для программы java

Цель: создать простейшее оконное приложение на Java, выводить текст, переданный в качестве параметра.
Основы Java и создание простейшего приложения Hello World можно почитать здесь. Наш материал предполагает, что установлен пакет JDK, настроены переменные среды и скачана IDE JDeveloper (взять можно здесь).

Шаг 1: создание класса. Используем графические компоненты из библиотеки Swing. Если передан параметр, используем его как текст в графическом компоненте JLabel.

import javax.swing.JFrame; import javax.swing.JLabel; public class AQTest < public static void main(String[] args) < AQTest aQTest = new AQTest(); JFrame f = new JFrame(«GUI Application»); f.setSize(600,200); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); javax.swing.JLabel label = new JLabel(); label.setFont(new java.awt.Font(«Tahoma», 0, 24)); label.setForeground(new java.awt.Color(255, 0, 0)); label.setText(args.length==0?»Empty input»:args[0]); f.add(label); >>

Если запустить данный класс на выполнение, то увидим окно с надписью «Empty input», т.к. класс был запущен без параметров.

Урок 13. Часть 1. Классы обертки (оболочки) в языке Java

Шаг 2: компоновка исполняемого jar-файла. По сути jar-файл — это zip-архив, в который упакованы скомпилированные классы и метаданные, такие, как файлы MANIFEST. Чтобы jar-файл был исполняемым в JVM, файл MANIFEST.MF должен содержать параметр, содержащий имя класса с процедурой main. В процессе компоновки мы увидим, каким образом задается этот параметр.
Выбираем в контекстном меню проекта/приложения пункт «Project Properties». Нас интересует пункт Deployment.

Добавляем новый профиль развертывания, Вводим имя будущего jar-файла.

В появившемся окне указываем местоположение будущего jar-файла и имя класса, содержащего процедуру main. Это имя подставится в автоматически создаваемый файл метаданных MANIFEST.MF. Таким образом, при выполнение скомпонованного файла начнется с метода AQTest.main():

Если проект включает сторонние библиотеки, необходимо перейти в раздел Library Dependencies и выбрать те из них, которые необходимо включить в компонуемый файл.

Всё, мы получили файл AQTest.jar, который можем запускать как из командной строки, так и двойным левым кликом.

Шаг 3: запуск с параметром из bat-файла. Листинг файла AQTest.bat:

javaw.exe — это оконная версия консольного приложения java.exe. В данном случае мы используем оконное приложение, т.к. оно не требует ожидания окончания запущенной им программы. Запускаем bat-файл и убеждаемся, что всё работает, как надо.

Источник: oracle-experience.blogspot.com

Как сделать запускаемый Java-файл или Java-ярлык

Создание графических интерфейсов в Java-программах

Продолжение нашей статьи, посвящённой обзору ресуров по Java. Ниже приведён обзор различных технологий, позволяющих создавать графические интерфейсы для Java-программ. Описание скопировано из Википедии. Стоит обратить внимание на AWT, Swing и JavaFX. Из них AWT самая древняя, JavaFX наиболее современная.

Но более современные технологии на заменяют полностью более старые, все они имеют свои плюсы и минусы.

Abstract Window Toolkit (AWT) (wiki_eng, wiki_ru) — исходная платформо-независимая оконная библиотека графического интерфейса (Widget toolkit). Некоторые разработчики предпочитают эту модель, поскольку она обеспечивает высокую степень соответствия основному оконному инструментарию и беспрепятственную интеграцию с родными приложениями. Другими словами, GUI программа, написанная с использованием AWT, выглядит как родное приложение Microsoft Windows, будучи запущенной на Windows, и в то же время как родное приложение Apple Macintosh, будучи запущенным на Mac, и т. д.. Однако, некоторым разработчикам не нравится эта модель, потому что они предпочитают, чтобы их приложения выглядели одинаково на всех платформах.

AWT появилась вместе с Java в 1995 году. Компоненты AWT часто определяют термином heavyweight. В J2SE 1.2 виджеты AWT были в значительной степени заменены аналогичными из Swing.

Статьи на beginnersbook.com » Java AWT tutorial for beginners » и 2 смежные — объяснение толковое, но только основы.

Swing (wiki_eng, wiki_ru) — библиотека для создания графического интерфейса. Разработана компанией Sun Microsystems. Содержит ряд графических компонентов (англ. Swing widgets), таких как кнопки, поля ввода, таблицы и т. д. Архитектура Swing разработана таким образом, что вы можете изменять «look and feel» (L Java Swing Tutorial for beginners » и 2 смежные — объяснение толковое, но только основы.

Страница в Java-курсе от guru99.com , посвящённая создания графического интерфейса.

Примеры создания элементов графического интерфейса с помощью технологий AWT и Swing на сайте tutorialspoint.com .

Глава, посвящённая созданию графического интерфейса с помощью технологий AWT и Swing на mathbits.com .

Электронная книга » Java Programming » на en.wikibooks.org имеет разделы, связанных с созданием графических интерфейсов.

Электронная книга » Introduction to Programming Using Java » на math.hws.edu имеет главы «Introduction to GUI Programming» и «Advanced GUI Programming»

Java Swing (GUI) Programming: From Beginner to Expert (caveofprogramming.com) — instructor John Purcell, IDE Eclipse, 29$

From description: «Learn how to create desktop and Internet GUI Java programs and take your Java programming to the next level. »
По форме обучения курс напоминает курсы на Udemy. Имеет приличную продолжительность.

Читайте также:
Переключение между окнами активных программ быстро производится с помощью клавиш

=== Udemy ===
Сайт содержит ряд курсов. Все они коммерческие.
фильтр1, фильтр2, фильтр3
Из них можно отметит следующие:

— Java SE Desktop Application with Swing, JPA and Maven — created by Holczer Balazs (from Hungary), 2017, rating 4.8, Eclispse, basic price 200$
From description: «This course is meant for everyone who knows basic Java and wants to get a good grasp of professional software engineering and design.»
[8.5 hours video, 7 articles, 9 supplemental resources]

— Java Swing (GUI) Programming: From Beginner to Expert — created by John Purcell, 2015, rating 4.5, Eclispse, basic price 35$
From description: «Target audience. Java beginners who are OK with learning new stuff rapidly. Fluent Java programmers who want to learn desktop programming in Java.»
[14 hours video, 2 articles]

— Learn To Create Calculator In Java Swing — Step By Step — Intermediate, created by Mohammad Faizan, 2016, rating 4.2, Netbeans, basic price 100$
[1.5 hours video, 4 articles]

— Java basic and Swing : 2 Course Bundle — created by Eighton School (team of instructors who are actually engineers), 2018, rating -, Netbeans, basic price 100$
[14 + 6.5 hours video, 3 articles]
В первом из этих курсов имеются обширные лекции, посвящённые AWT, Java 2D и различным темам программирования для веб.
( Эти курсы также выложены отдельно под названиями
» Java SE Edition: Learn Java from the scratch » (rating 1.5 — 1 voice) и
» Java Swing for beginners: Graphical User Interface (GUI) » (rating 3.5 — 2 voices). )
P.S. По какой-то причине авторы удалили свой профиль с Udemy со всеми курсами. Курсы доступны только тем, кто приобрёл их ранее.

Standard Widget Toolkit (SWT) (wiki_eng, wiki_ru) — библиотека с открытым исходным кодом для разработки графических интерфейсов. Разработана фондом Eclipse. SWT не является самостоятельной графической библиотекой, а представляет собой кросс-платформенную оболочку для графических библиотек конкретных платформ, например, под Linux SWT использует библиотеку GTK+.

SWT написана на стандартной Java и получает доступ к OS-специфичным библиотекам через Java Native Interface, который рассматривается в качестве сильного средства, несмотря на то, что это не является чистой Java. SWT — альтернатива AWT и Swing (Sun Microsystems) для разработчиков, желающих получить привычный внешний вид программы в данной операционной системе. Использование SWT делает Java-приложение более эффективным, но снижает независимость от операционной системы и оборудования, требует ручного освобождения ресурсов и в некоторой степени нарушает Sun-концепцию платформы Java. Первый релиз SWT состоялся в 2003 году.

JavaFX (wiki_eng, wiki_ru) — платформа на основе Java. Предназначена для создания
— настольных приложений, запускаемых непосредственно из-под операционных систем;
— насыщенных интернет-приложений (англ. rich Internet applications — RIAs), работающих в браузерах;
— приложений на мобильных устройствах.
JavaFX создана с целью заменить библиотеку Swing. Платформа JavaFX конкурирует с Microsoft Silverlight, Adobe Flash и аналогичными системами.

JavaFX cоздана корпорацией Sun Microsystems. Впервые продемонстрирована в мае 2007 года. Версия 1.0 вышла в декабре 2008. Приложения JavaFX создаются с помощью декларативного языка программирования JavaFX Script. Для разработки приложений на языке JavaFX Script необходимо установить JavaFX SDK, который входит в поставку с Java SE 7. Из кода, написанного на языке JavaFX Script, можно обращаться к любым библиотекам Java.

Поэтому совместное использование языков Java и JavaFX Script позволяет решать разнообразные задачи, например, логика бизнес-приложения может быть написана на Java, а графический интерфейс пользователя — на JavaFX Script.

JavaFX также может использоваться при созданий приложений на языках Groovy, Scala и JRuby.

=== Udemy ===
Сайт содержит ряд курсов. Бесплатный из них только один:
— Crash Course Into JavaFX: The Best Way to make GUI Apps — created by Anirudh Balasubramanian, 2017, rating 4.2, Eclipse
[5 hours video, 1 articles]

Из коммерческих можно отметить следующие:

— UI-UX Design , Animation and Material Design in JavaFX — created by Mohamed Adel (from Egypt), 2018, rating 4.5, IntelliJ IDEA, basic price 200$
Не очень хорошее качество звука, присутствует фоновый шум.
[7 hours video, 13 articles]

— Build Outstanding Java Apps with JavaFX much faster — created by Jonas Schindler, 2015, rating 4.6, Eclipse, basic price 25$
Самое крупное из создаваемых приложений — калькулятор.
[4 hours video]

— Java Web and JavaFX : 2 Course Bundle — created by Eighton School (team of instructors who are actually engineers), 2018, rating 5.0 (2 voices), Netbeans, basic price 100$
[4 + 3 hours video, 4 articles]
( Эти курсы также выложены отдельно под названиями
» Java Web Technologies: JSP, JSF, Ajax, Spring. . . » (rating 3.5 — 1 voice) и
» JavaFX for beginners:Learn JavaFX from the scratch » )
P.S. По какой-то причине авторы удалили свой профиль с Udemy со всеми курсами. Курсы доступны только тем, кто приобрёл их ранее.

Читайте также:
Как работает программа Smart view

— Complete Java Masterclass -Beginner, instructor Tim Buchalka and Goran Lochert, rating 4.6, IDE IntelliJ, 2018, basic price 195$
[74 hours video, 5 articles, 10 coding exercises]
Самый полный курс по Java на Udemy. Среди прочего содержит 10 часов лекций по JavaFX.

— Complete Oracle JavaFX with Database http://www.mal-bioit.ru/java-gui» target=»_blank»]www.mal-bioit.ru[/mask_link]

Как создать оболочку для программы java

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

Так как пограничная область включается в полный размер фрейма, граница эффективно затеняет часть фрейма, ограничивая область, доступную для рендеринга и/или отображения субкомпонентов к прямоугольнику, у которого есть верхнее левое угловое расположение (insets.left , insets.top) , и имеет размер width — (insets.left + insets.right) height — (insets.top + insets.bottom) . Фрейм, реализованный как экземпляр JFrame class, окно, которое имеет художественные оформления, такие как граница, title, и поддерживает компоненты кнопки, которые закрывают или представляют окно в виде значка. Приложения с GUI обычно включают по крайней мере один фрейм. Апплеты иногда используют фреймы, также. Чтобы сделать окно, которое зависит от другого окна — исчезновение, когда другое окно представляется в виде значка, например — используют a dialog вместо frame. . Чтобы сделать окно, которое появляется в пределах другого окна, используйте внутреннюю рамку.

Создание и Показ Фреймов

Очень скучный фрейм

Вот изображение чрезвычайно простого окна, создаваемого FrameDemo демонстрационное приложение. Можно найти исходный код в FrameDemo.java . Можно работать, FrameDemo ( загрузите JDK 6 или позже ). Следующий FrameDemo кодируйте шоу, как создать и установить фрейм.

//1. Create the frame. JFrame frame = new JFrame(«FrameDemo»); //2. Optional: What happens when the frame closes? frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //3. Create components and put them in the frame. //. create emptyLabel. frame.getContentPane().add(emptyLabel, BorderLayout.CENTER); //4. Size the frame. frame.pack(); //5.

Show it. frame.setVisible(true);
frame.setLocationRelativeTo(null);

Определение Художественных оформлений Окна

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

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

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

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

Фрейм с художественными оформлениями, обеспеченными оконной системой Фрейм с художественными оформлениями, обеспеченными стилем Фрейм с пользовательским значком
Художественные оформления окна обеспечили стилем Художественные оформления окна обеспечили оконной системой Пользовательский значок; художественные оформления окна обеспечили стилем

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

//Ask for window decorations provided by the look and feel. JFrame.setDefaultLookAndFeelDecorated(true); //Create the frame. JFrame frame = new JFrame(«A window»); //Set the frame icon to an image loaded from a file. frame.setIconImage(new ImageIcon(imgURL).getImage());

Поскольку предыдущий фрагмент кода подразумевает, следует вызвать setDefaultLookAndFeelDecorated метод прежде, чем создать фрейм, на художественные оформления которого Вы хотите влиять. Значение Вы устанавливаете с setDefaultLookAndFeelDecorated используется для всех впоследствии создаваемых JFrame s. Можно переключиться назад на использование художественных оформлений оконной системы, вызывая JFrame.setDefaultLookAndFeelDecorated(false) . Некоторый взгляд и чувства не могли бы поддерживать художественные оформления окна; в этом случае художественные оформления оконной системы используются.

Полный исходный код для приложения, которое создает фреймы, изображенные выше, находится в FrameDemo2.java . Помимо показа, как выбрать художественные оформления окна, FrameDemo2 также показывает, как отключить все художественные оформления окна и дает пример расположения окон. Это включает два метода, которые создают Image объекты, используемые в качестве значков — каждый загружается из файла, и другой красится с нуля.

Попробуйте это::

  1. Нажмите кнопку Launch, чтобы работать, Демонстрационный пример Фрейма, использующий Сеть Java™, Запускаются ( загрузите JDK 6 или позже ). Альтернативно, чтобы скомпилировать и выполнить пример самостоятельно, консультируйтесь, пример индексируют.
    Try this:
  1. Run FrameDemo2 ( download JDK 6 or later ). Or, to compile and run the example yourself, consult the example index. —>
  2. Переведите в рабочее состояние два окна, обоих со стилем, обеспеченным художественные оформления, но с различными значками.
    Стиль Java выводит на экран значки в своих художественных оформлениях окна. В зависимости от Вашей оконной системы значок может использоваться в другом месте, чтобы представить окно, особенно когда окно минимизируется.
  3. Переведите одно или более окон в рабочее состояние с художественными оформлениями оконной системы.
    См., обрабатывает ли Ваша оконная система эти значки по-другому.
  4. Переведите одно или более окон в рабочее состояние без художественных оформлений окна.
    Игра с различными типами окон, чтобы видеть, как художественные оформления окна, оконная система, и значки фрейма взаимодействуют.
Читайте также:
Решение уравнений с параметрами программа

Отвечание на Закрывающие окно События

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

Параметр setDefaultCloseOperation должно быть одно из следующих значений, первые три из которых определяются в WindowConstants интерфейс (реализованный JFrame , JInternalPane , и JDialog ):

DO_NOTHING_ON_CLOSE Ничего не делайте, когда пользователь запрашивает, чтобы окно закрылось. Вместо этого программа должна, вероятно, использовать слушателя окна, который выполняет некоторое другое действие в windowClosing метод. HIDE_ON_CLOSE (значение по умолчанию для JDialog и JFrame ) Скройте окно, когда пользователь закрывает его. Это удаляет окно из экрана, но листов это визуализуемый.

DISPOSE_ON_CLOSE (значение по умолчанию для JInternalFrame ) Скройтесь и избавьтесь от окна, когда пользователь закрывает его. Это удаляет окно из экрана и освобождает любые ресурсы, используемые этим. EXIT_ON_CLOSE (определенный в JFrame class) Выйдите из приложения, используя System.exit(0) . Это рекомендуется для приложений только. Если использующийся в пределах апплета, a SecurityException может быть брошен.

Отметьте:

DISPOSE_ON_CLOSE может иметь результаты, подобные EXIT_ON_CLOSE если только одно окно является экранным. Более точно, когда от последнего визуализуемого окна в пределах виртуальной машины Java (VM) избавляются, VM может завершиться. См. , что AWT Распараллеливает Проблемы для деталей.

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

Для получения дополнительной информации об обработке закрывающих окно событий, см. , Как Записать Слушателям Окна. Помимо обработки закрывающих окно событий, слушатели окна могут также реагировать на другие изменения статуса окна, такие как iconification и активация.

API Фрейма

Следующие таблицы приводят обычно используемый JFrame конструкторы и методы. Другие методы, которые Вы могли бы хотеть вызвать, определяются java.awt.Frame , java.awt.Window , и java.awt.Component классы те, от который JFrame убывает.

Поскольку каждый JFrame у объекта есть корневая область, у фреймов есть поддержка того, чтобы вставить ввод и нарисовать поведение перед дочерними элементами фрейма, размещая дочерние элементы в различные «уровни», и для строк меню Swing. Эти темы представляются в Использовании Высокоуровневых Контейнеров и объясняются подробно в том, Как Использовать Корневые Области.

API для того, чтобы использовать фреймы попадает в эти категории:

  • Создание и Установка Фрейма
  • Установка Размера окна и Расположения
  • Методы, Связанные с Корневой Областью
  • DO_NOTHING_ON_CLOSE
  • HIDE_ON_CLOSE
  • DISPOSE_ON_CLOSE
  • EXIT_ON_CLOSE

Примеры то Использование Фреймы

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

Пример Где Описано Примечания
FrameDemo Объясненный Пример Выводит на экран основной фрейм с одним компонентом.
FrameDemo2 Определение Художественных оформлений Окна Позволяет Вам создавать фреймы с различными художественными оформлениями окна.
Framework Исследование в создании и уничтожении окон, в реализации строки меню, и в выходе из приложения.
LayeredPaneDemo Как Использовать Многоуровневые Области Иллюстрирует, как использовать многоуровневую область (но не фрейм многоуровневая область).
GlassPaneDemo Стеклянная Область Иллюстрирует использование области стекла фрейма.
MenuDemo Как Использовать Меню Шоу, как поместить a JMenuBar в a JFrame .

Ваше использование этой страницы и всего материала на страницах под «Учебным баннером» Java подвергается этим официальным уведомлениям.

Предыдущая страница: Как Использовать Отформатированные Текстовые поля
Следующая страница: Как Использовать Внутренние рамки

Источник: spec-zone.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru