Добавил:
Староста Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
L3_Graficheskiy_interfeys_Primery.doc
Скачиваний:
5
Добавлен:
24.11.2018
Размер:
561.15 Кб
Скачать

Import java.Awt.*;

import java.awt.event.*;

Import javax.Swing.*;

public class MultyFrame extends JFrame {

ChildFrame s2;

// Конструктор основного окна

public MultyFrame() {

ButtonListener blistener = new ButtonListener();

Toolkit kit = Toolkit.getDefaultToolkit();

Dimension screens = kit.getScreenSize();

int w, h;

w = screens.width;

h = screens.height;

// Вывод окна в центре экрана

setSize(w / 2, h / 2);

setLocation(w / 4, h / 4);

setTitle("Главное окно");

setLayout(new FlowLayout());

// Добавление кнопки для создания дочернего окна

JButton but = new JButton("Созд.доч.окно");

add(but);

// Добавление слушателя для кнопки

but.addActionListener(blistener);

}

// Слушатель для кнопки (при нажатии выводится новое окно)

class ButtonListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

if (s2 == null) {

// Если доч. окно не существует, то создаем

s2 = new ChildFrame();

}

s2.setVisible(true);

}

}

// Класс дочернего окна

class ChildFrame extends JFrame {

// Конструктор дочернего окна

public ChildFrame () {

Toolkit kit = Toolkit.getDefaultToolkit();

Dimension screens = kit.getScreenSize();

int w, h;

// Вывод окна в левом углу экрана

w = screens.width;

h = screens.height;

setSize(w/3, h/3);

setLocation(w/6, h/6);

setTitle("Дочернее окно");

}

}

public static void main(String[] args) {

MultyFrame frame = new MultyFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

}

Результат выполнения

9