русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Программа 130. Окна диалога


Дата добавления: 2015-06-12; просмотров: 572; Нарушение авторских прав


// Файл DialogDemo.java

// Демонстрирует диалоговое окно.

import java.awt.*;

import java.awt.event.*;

import java.applet.*;

/*

<applet code = " DialogDemo" width = 250 height = 250>

</applet>

*/

// Создать подкласс класса Dialog

class SampleDialog extends Dialog implements ActionListener {

SampleDialog(Frame parent, String title) {

super(parent, title, false);

setLayout(new FlowLayout());

setSize(300, 200);

add(new Label("Press this button:"));

Button b;

add(b = new Button("Cancel"));

b.addActionListener(this);

}

public void actionPerformed(ActionEvent ae) {

dispose();

}

public void paint(Graphics g) {

g.drawString("This is in the dialog box", 10, 70);

}

}

// Создать подкласс класса Frame

class MenuFrame extends Frame {

String msg = "";

CheckboxMenuItem debug, test;

MenuFrame(String title) {

super(title);

// Создать строку меню и добавить ее к фрейму

MenuBar mbar = new MenuBar();

setMenuBar(mbar);

// Создать пункты меню

Menu file = new Menu("File");

MenuItem item1, item2, item3, item4;

file.add(item1 = new MenuItem("New..."));

file.add(item2 = new MenuItem("Open..."));

file.add(item3 = new MenuItem("Close"));

file.add(new MenuItem("-"));

file.add(item4 = new MenuItem("Quit..."));

mbar.add(file);

Menu edit = new Menu("Edit");

MenuItem item5, item6, item7;

edit.add(item5 = new MenuItem("Cut"));

edit.add(item6 = new MenuItem("Copy"));

edit.add(item7 = new MenuItem("Paste"));

edit.add(new MenuItem("-"));

Menu sub = new Menu("Special", true);

MenuItem item8, item9, item10;

sub.add(item8 = new MenuItem("First"));



sub.add(item9 = new MenuItem("Second"));

sub.add(item10 = new MenuItem("Third"));

edit.add(sub);

// Это помечаемые пункты

debug = new CheckboxMenuItem("Debug") ;

edit.add(debug);

test = new CheckboxMenuItem("Testing");

edit.add(test);

mbar.add(edit);

// создать объекты для обработки action- и item-событий

MyMenuHandler handler = new MyMenuHandler(this);

// Зарегистрировать их для приема этих событий

item1.addActionListener(handler);

item2.addActionListener(handler) ;

item3.addActionListener(handler) ;

item4.addActionListener(handler);

item5.addActionListener(handler);

item6.addActionListener(handler);

item7.addActionListener(handler) ;

item8.addActionListener(handler);

item9.addActionListener(handler);

item10.addActionListener(handler);

debug.addItemListener(handler) ;

test.addItemListener(handler);

// Создать объект для обработки window-событий

MyWindowAdapter adapter = new MyWindowAdapter(this);

// Зарегистрировать его для приема этих событий

addWindowListener(adapter);

}

public void paint(Graphics g) {

g.drawString(msg, 10, 200);

if(debug.getState())

g.drawString("Debug is on.", 10, 220);

else

g.drawString("Debug is off.", 10, 220);

if(test.getState())

g.drawString("Testing is on.", 10, 240);

else

g.drawString("Testing is off.", 10, 240);

}

}

class MyWindowAdapter extends WindowAdapter {

MenuFrame menuFrame;

public MyWindowAdapter (MenuFrame menuFrame) {

this.menuFrame = menuFrame;

}

public void windowClosing(WindowEvent we) {

menuFrame.dispose();

}

}

class MyMenuHandler implements ActionListener, ItemListener {

MenuFrame menuFrame;

public MyMenuHandler(MenuFrame menuFrame) {

this.menuFrame = menuFrame;

}

// Обработать action-события

public void actionPerformed(ActionEvent ae) {

String msg = "You selected ";

String arg = (String)ae.getActionCommand();

// Активизировать диалоговое окно, когда выбран пункт New

if(arg.equals("New...")) {

msg += "New.";

SampleDialog d = new SampleDialog(menuFrame, "New Dialog Box");

d.setVisible(true);

}

// Попытка определить другие окна диалога для этих пунктов

else if(arg.equals("Open..."))

msg += "Open.";

else if(arg.equals("Close"))

msg += "Close.";

else if(arg.equals("Quit..."))

msg += "Quit.";

else if(arg.equals("Edit"))

msg += "Edit.";

else if(arg.equals("Cut"))

msg += "Cut.";

else if(arg.equals("Copy"))

msg += "Copy.";

else if(arg.equals("Paste"))

msg += "Paste.";

else if(arg.equals("First"))

msg += "First.";

else if(arg.equals("Second"))

msg += "Second.";

else if(arg.equals("Third"))

msg += "Third.";

else if(arg.equals("Debug"))

msg += "Debug.";

else if(arg.equals("Testing"))

msg += "Testing.";

menuFrame.msg = msg;

menuFrame.repaint();

}

public void itemStateChanged(ItemEvent ie) {

menuFrame.repaint();

}

}

// Создать frame-окно

public class DialogDemo extends Applet {

Frame f;

public void init() {

f = new MenuFrame("Menu Demo");

int width = Integer.parseInt(getParameter("width"));

int height = Integer.parseInt(getParameter("height"));

setSize(width, height);

f.setSize(width, height);

f.setVisible(true);

}

public void start() {

f.setVisible(true);

}

public void stop() {

f.setVisible(false);

}

}

Пример вывода модифицированного апплета MenuDemo представлен на рис. 16. При выборе пункта меню File, New выводится диалоговое окно.

Рис. 16. Создание диалогового окна



<== предыдущая лекция | следующая лекция ==>
Диалоговые окна | Класс FileDialog


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.075 сек.