Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Java.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
90 Кб
Скачать
☆

Import javax. Swing.*;

public final class HelloWorld implements Runnable {

public static void main(String[] args) {

//Swing имеет собственный управляющий поток (т.н. dispatching thread),

//который работает параллельно с основным (в котором выполняется main())

//потоком. Если основной поток закончит работу (метод main завершится),

//поток отвечающий за работу Swing-интерфейса может продолжать свою работу.

//И даже если пользователь закрыл все окна, программа продолжит свою работу

//(до тех пор, пока жив данный поток). Начиная с Java 6, когда все

//компоненты уничтожены, управляющий поток останавливается автоматически.

//Запускаем весь код, работающий в управляющем потоке, даже инициализацию:

SwingUtilities.invokeLater (new HelloWorld());

}

public void run() {

// Создаем окно с заголовком "Hello, World!"

Frame f = new JFrame ("Hello, World!");

// Ранее практиковалось следующее: создавался listener и регистрировался

// на экземпляре главного окна, который реагировал на windowClosing()

// принудительной остановкой виртуальной машины вызовом System.exit()

// Теперь же есть более "правильный" способ задав реакцию на закрытие окна.

// Данный способ уничтожает текущее окно, но не останавливает приложение. Тем

// самым приложение будет работать пока не будут закрыты все окна.

f.setDefaultCloseOperation (JFrame. DISPOSE_ON_CLOSE );

// однако можно задать и так:

// f.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

// Добавляем на панель окна нередактируемый компонент с текстом.

// f.getContentPane().add (new JLabel("Hello, World!")); - старый стиль

f.add(new JLabel("Hello World"));

// pack() "упаковывает" окно до оптимального размера

// всех расположенных в нем компонентов.

f.pack();

// Показать окно

f.setVisible(true);

}}

Технология Swing предоставляет механизмы для управления следующими аспектами представления:

  • Клавиатура (Swing предоставляет способ перехвата пользовательского ввода);

  • Цвета (Swing предоставляет способ менять цвета, которые вы видите на экране);

  • Текстовое поле для ввода (Swing предоставляет текстовые компоненты для обработки всех повседневных задач).

JComponent

Базовым классом всей библиотеки визуальных компонентов Swing является JComponent. Это суперкласс других визуальных компонентов. Он является абстрактным классом, поэтому в действительности вы не можете создать JComponent, но он содержит сотни функций, которые каждый компонент Swing может использовать как результат иерархии классов. Класс JComponent обеспечивает инфраструктуру окрашивания для всех компонентов, он знает, как обрабатывать все нажатия клавиш на клавиатуре, его подклассы, следовательно, должны только прослушивать определенные клавиши. Класс JComponent также содержит метод add(), который позволяет добавить другие объекты класса JComponent, так можно добавить любой Swing-компонент к любому другому для создания вложенных компонентов (например, JPanel, содержащую JButton, или даже более причудливые комбинации, например JMenu, содержащее JButton).

JLabel

Самым простым и в то же время основным визуальным компонентом в библиотеке Swing является JLabel, или «метка». К методам этого класса относится установка текста, изображения, выравнивания и других компонентов, которые описывает метка:

  • get/setText() – получить/установить текст в метке;

  • get/setIcon() – получить/установить изображение в метке;

  • get/setHorizontalAlignment – получить/установить горизонтальную позицию текста;

  • get/setVerticalAlignment()   –   получить/установить вертикальную позицию текста;

  • get/setDisplayedMnemonic()   –   получить/установить мнемонику (подчеркнутый символ) для метки;

  • get/setLabelFor() – получить/установить компонент, к которому присоединена данная метка; когда пользователь нажимает комбинацию клавиш Alt + мнемоника, фокус перемещается на указанный компонент.

JButton

Основным активным компонентом в Swing является Jbutton.

Методы, используемые для изменения свойств JButton, аналогичны методам JLabel (вы обнаружите, что они аналогичны для большинства Swing-компонентов). Они управляют текстом, изображениями и ориентацией:

  • get/setText() –   получить/установить текст в кнопке;

  • get/setIcon() –   получить/установить изображение в кнопке;

  • get/setHorizontalAlignment()   –   получить/установить горизонтальную позицию текста;

  • get/setVerticalAlignment()   –   получить/установить вертикальную позицию текста;

  • get/setDisplayedMnenomic()   –   получить/установить мнемонику (подчеркнутый символ), которая в комбинации с кнопкой Alt вызывает нажатие кнопки.

JFrame

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

 JFrame выступает в качестве моста между независимыми от конкретной операционной системы Swing-частями и реальной операционной системой, на которой они работают. JFrame регистрируется как окно и таким образом получает многие свойств окна операционной системы: минимизация/максимизация, изменение размеров и перемещение. Хотя выполнении лабораторной работы достаточно считать JFrame палитрой, на которой вы размещаете компоненты. Перечислим некоторые из методов, которые вы можете вызвать в JFrame для изменения его свойств:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]