08.11.2014

Создание оконного 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", т.к. класс был запущен без параметров.

Шаг 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:
@echo  off
@start javaw -jar AQTest.jar %1
javaw.exe - это оконная версия консольного приложения java.exe. В данном случае мы используем оконное приложение, т.к. оно не требует ожидания окончания запущенной им программы. Запускаем bat-файл и убеждаемся, что всё работает, как надо.

Комментариев нет :