Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Занятие 13.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
194 Кб
Скачать
☆

На заметку:

Создание окна означает, что в памяти выделено место, в которое прописаны все параметры и характеристики этого окна, в соответствии со спецификацией класса окна. Это не означает, что окно отображается на экране. Для отображения окна его необходимо сделать видимым - вызвать из объекта окна метод setvisible() с аргументом true.

Таким образом, создание объекта класса NewFrаme приводит к созданию и отображению на экране окна с названием "Новое окно" размерами 300 на 200 пикселей. Поэтому чтобы увидеть окно, в главном методе программы создаем анонимный объект класса NewFrame (анонимный, поскольку в дальнейшем создаваемый объект использовать не предполагается). Окно по умолчанию отображается в верхнем левом углу экрана.

Правда, пользы от этого окна не много. Его можно перемещать по экрану, изменить размеры (мышкой переместив края рамки), свернуть, развернуть и закрыть. Поэтому разумно пример усложнить, добавив в окно что-нибудь еще. Самый простой элемент в этом отношении — текстовая метка.

Окно с текстовой меткой

Усложним предыдущий пример, добавив в окно текстовую метку. Метка представляет собой компонент, который используется исключительно для представления информации (в основном текстовой, но возможны варианты). Для создания меток в Swing есть класс JLabel. То есть для того, чтобы создать метку, следует, как минимум, создать объект класса JLabel. У класса есть несколько конструкторов. В частности, при создании объекта класса JLabel аргументами конструктору можно передавать:

  1. Текстовую строку (объект класса String), которая будет отображаться меткой.

  2. Изображение (объект класса, реализующего интерфейс Icon), которое отображается меткой.

  3. Текстовая строка (объект класса String), изображение (объект класса, реализующего интерфейс Icon), которые отображаются меткой, и константа (статическое поле класса JLabel), определяющая способ выравнивания текста и пиктограммы в области метки.

  4. Конструктору могут не передаваться аргументы. В этом случае создается пустая (не содержащая информации для отображения) метка.

Выше приведен неполный список возможных аргументов. В случае надобности мы познакомимся и с другими способами создания меток. Сейчас рассмотрим еще один простой пример. Обратимся к листингу 2.

Листинг 2. Окно с текстовой меткой

import javax.swing.*;

// Класс для реализации окна с меткой: class MyFrame{

// Конструктор класса: MyFrame(){

// Создание окна:

JFrame frm=new JFrame(" Окно с меткой"); // Положение окна на экране и размеры: frm.setBounds(400,300,180,100); // Реакция на закрытие окна:

frm. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Создание текстовой метки:

JLabel lbl=new JLabel (" Всем огромный привет!");

// Добавление метки в окно:

frm.add(lbl);

// Отображение окна:

frm.setVisible(true);}

}

public class FrameAndLabel{

public static void main(String[] args){ // Создание окна (анонимный объект): new MyFrame();}

}

В результате выполнения программы появляется окно (посмотрите какое).

Почему появляется именно это окно, и почему оно вообще появляется, становится ясно, если проанализировать приведенный выше программный код. В частности, основу программного кода составляет код класса MyFrame. Основу класса, в свою очередь, составляет конструктор класса, у которого нет аргументов и которым, по большему счету, и создается окно. В конструкторе командой JFrame frm=new JFrame("Окно с меткой") создается объект frm класса JFrame, который отождествляется с окном. Строка названия этого окна содержит текст " Окно с меткой", передан­ный аргументом конструктора класса JFrame. Следующими командами в конструкторе задаются свойства этого окна. В частности, командой frm. setBounds (400,300,180,100) задается положение окна на экране и его размеры. Для этого из объекта окна frm вызывается метод setBounds О , аргументами которому передаются: координаты (в пикселях) окна при отобра­жении на экране и размеры (в пикселях) по горизонтали и вертикали окна.

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