Программирование графики и обработка событий - Методичка

бесплатно 0
4.5 84
Характеристика библиотеки java.awt. Обработка событий управляющими компонентами и менеджерами размещения. Основные виды компонентов. Написание программы–калькулятора, реализующую графический интерфейс. Спецификация класса Calc и иерархия классов AWT.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Отчет должен содержать: Постановку задачи, решаемой отлаженной программой. Почему в программе необходимо записать обработчик события закрытия окна? Как закрыть окно в случае, если программа запущена без этого обработчика?Основу ее составляют готовые компоненты: Button, Canvas, Checkbox, Choice, Container, Label, List, Scrollbar, TEXTAREA, TEXTFIELD, Menubar, Menu, POPUPMENU, Menultem, CHECKBOXMENUITEM. Если этого набора не хватает, то от класса Canvas можно породить собственные "тяжелые" компоненты, а от класса Component - "легкие" компоненты. Свои "тяжелые" контейнеры можно породить от класса Panel, а "легкие" - от класса Container.Создается объект этого класса одним из трех конструкторов: · Label () - пустой объект без текста; · Label (string text) - объект с текстом text, который прижимается клевому краю компонента; · Label (String text, int alignment) - объект с текстом text и определенным размещением в компоненте текста, задаваемого одной из трех констант: CENTER, LEFT, RIGHT. Два конструктора Button () и Button (String label) создают кнопку без надписи и с надписью label соответственно. Три конструктора Checkbox (), Checkbox (String label), Checkbox (String label, boolean state) создают компонент без надписи, с надписью label в состоянии off, и в заданном состоянии state.GRIDLAYOUT компоненты размещаются в контейнере в клетках таблицы; каждый элемент занимает одну клетку GRIDBAGLAYOUT компоненты размещаются в контейнере в клетках таблицы; каждый элемент может занимать более одной клетки; является наиболее гибким компоновщиком Установка границ каждого компонента осуществляется при помощи метода: компонент.SETSIZE(КООРДИНАТАХ, КООРДИНАТАУ, ширина, высота) Компонент добавляется в контейнер при помощи метода: контейнер.add(компонент) Метод add() в случае применения BORDERLAYOUT имеет два аргумента: ссылку на компонент comp и область region, в которую помещается компонент - одну из перечисленных выше констант: add(Component comp, String region)Классы и интерфейсы для работы с делегированными событиями расположены в пакете java.awt.event (см. рисунок 5).

План
Оглавление

Цель работы 3

Задание для домашней подготовки 3

Задания к лабораторной работе 3

Задание 1 3

Задание 2 3

Содержание отчета 3

Контрольные вопросы. 4

Литература. 5

Приложение 1. Спецификация класса Calc. 6

Приложение 2. Иерархия классов AWT. 9

Приложение 3. Основные компоненты. 10

Компонент Label 10

Компонент Button 10

Компонент Checkbox 11

Класс CHECKBOXGROUP 11

Компонент Choice 12

Компонент TEXTFIELD 13

Контейнер Frame 14

Приложение 4. Менеджеры размещения. 16

Менеджер абсолютного размещения 16

Менеджер FLOWLAYOUT 18

Менеджер BORDERLAYOUT 18

Менеджер GRIDLAYOUT 19

Менеджер CARDLAYOUT 20

Менеджер GRIDBAGLAYOUT 21

Приложение 5. Обработка событий. 25

Список литературы
Официальные источники: 1. Кен Арнольд, Джеймс Гослинг, Дэвид Холмс. Язык программирования Java™.

2. Официальный сайт Java - http://java.sun.com/ (есть раздел на русском языке с учебником).

3. Java™ 2 SDK, Standard Edition Documentation - .

4. Джеймс Гослинг, Билл Джой, Гай Стил. Спецификация языка Java (The Java Language Specification - http://www.javasoft.com/docs/books/jls/). Перевод на русский язык - 5. Официальный сайт проекта Eclipse - http://www.eclipse.org/.

Другое: 1. Дмитрий Рамодин. Начинаем программировать на языке Java.

2. Николай Смирнов. Java 2: Учебное пособие.

3. Картузов А. В. Программирование на языке Java.

4. Вязовик Н.А. Программирование на Java.

5. Алексей Литвинюк. Введение в интегрированную среду разработки Eclipse - .

Приложение 1. Спецификация класса Calc. import java.awt.*; //подключение пакета с классами графических компонентов import java.awt.event.*; // подключение пакета с интерфейсами - “слушателями” class Calc extends Frame implements ACTIONLISTENER

//наследуем класс Frame (окно) и интерфейс “слушателя” события нажатия кнопки

{

TEXTFIELD t1=new TEXTFIELD(8); //размер поля - 8 символов

//… другие текстовые поля

Label l1=new Label("(double)"); //метка по умолчанию содержит текст «(double)»

//… другие метки

Button b = new Button("Получить результат"); //кнопка

Checkbox cb=new Checkbox(" 20%");//флажок с названием

Choice ch;//выпадающий список public Calc(){//конструктор класса super();

SETSIZE(400,200);//размер окна ch = new Choice();//конструктор выпадающего списка ch.ADDITEM(" ");//добавляем пункты списка

//… другие пункты списка

SETLAYOUT(new FLOWLAYOUT()); //назначаем менеджер размещения компонентов (компоновщик) add(l1);//выводим созданные компоненты на экран add(t1);

add(ch);

//… и другие

ADDWINDOWLISTENER(new WINDOWADAPTER(){ //добавляем обработчик кнопки закрытия окна public void WINDOWCLOSING(WINDOWEVENT e){ dispose(); System.exit(0);

}

}

);

b.ADDACTIONLISTENER(this);//добавляем обработчик нажатия на кнопку show();//делает окно видимым

}//конец конструктора public void GETREZ(){//метод, вычисляющий результат double x, //значение из первого текстового поля

Rez=0; //результат

//… вторая переменная - значение второго текстового поля try{ x=new Double(t1.GETTEXT()).DOUBLEVALUE();//извлечение числа из первого текстового поля

//… switch(ch.GETSELECTEDINDEX()){//какой пункт выпадающего списка выбран? (номер) case 0: Rez = x /*вторая переменная*/; break;

case 1: //…

//… остальные операторы

};

if (cb.GETSTATE()) Rez*=1.2;//если флажок нажат, умножаем результат на 1.2

//записываем текст в поле (метку) результата с помощью метода SETTEXT(String.VALUEOF(Rez));

} //окончание блока try catch(Exception ex){

String s=new String(ex.GETMESSAGE());

//записываем текст в поле (метку) сообщения об ощибке с помощью метода SETTEXT("Ошибка " s);

}// окончание блока catch

}// окончание метода GETREZ() public void ACTIONPERFORMED(ACTIONEVENT e){GETREZ();}//реализация метода ACTIONPERFORMED

//(метод вызывается нажатием на кнопку b), см. выше public static void main(String []a){Calc clc=new Calc();} //создаем только экземпляр класса Calc и все.

} //окончание класса Calc

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?