Применение визуальных компонент java
1) Создание пустой формы приложения
F9 – запуск программы С++ Builder
Установка размеров главного окна и заголовка без визуальных средств.
Выбор события OnCreate
Размеры формы и заголовок заданы в момент создания формы.
Создание аналогичных форм на java
Пакет awt – abstract window toolkit для создания оконного интерфейса
Основная форма приложения:
import java.awt.*;
import java.awt.event.*;
public class Prog_2_1 extends Frame // класс Prog_2_1 – наследник Frame (extends)
{
private Closer Handler;
Prog_2_1 ()
{
Handler = new Closer ();
addWindowListener (Handler);
setVisible(true);
// установка размеров и заголовка окна
setSize (500,300);
setTitle ("лабораторная 2");
}
public static void main (String args[])
{
Frame f;
f = new Prog_2_1 ();
// текст программы лаб. 2
}
}
class Closer extends WindowAdapter
{
public void windowClosing (WindowEvent event)
{
System.exit (0);
}
}
Класс Closer нужен, т.к. при закрытии окна (щелчка x) приложение не завершается. Это нам не нужно, класс завершает приложение при закрытии главного окна.
Программу можно запустить через compile.bat и run.bat или в eclipse
Результат работы:
Кроме frame возможны другие основные формы в awt : window, canvas.
Альтернативный пакет к awt – пакет swing облегченные компоненты (быстрее в работе и дополнительные удобные методы, одинаковы на всех ОС)
В swing вместо frame компонент jframe , можно проще закрыть приложение при закрытии главного окна.
В main, без дополнительного класса.
Prog_2_2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Программа с формой из библиотеки swing
import javax.swing.*;
public class Prog_2_2
{
JFrame form;
Prog_2_2 ()
{
// установкаразмеров и заголовкаокна
form = new JFrame();
form.setSize (500,300); // width=500 height=300
form.setTitle ("лабораторная 2");
form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // при закрытии окна конец
form.show();
}
public static void main (String args[])
{
Prog_2_2 f;
f= new Prog_2_2();
}
}
Результат такой же как Prog_2_1 запускается через eclipse или compile.bat-run.bat