Этап 3. На основной форме появляется кнопка




К курсовой работе 2-го курса

Поэтапная разработка простой программы, состоящей из трех окон на языке Java

 

Задание

 

Разработать программу, состоящую из прикладного окна Upr и двух дочерних окон: Model и Info.

Прикладное окно Upr содержит одну кнопку Ок.

В дочернем окне Model рисуется круг синего цвета.

В дочернем окне Info выдается строка, указывающая толщину линии круга.

При нажатии на кнопку Ок изменяется (увеличивается или возвращается к прежнему размеру) толщина круга в дочернем окне Model и размер этой толщины выдается в строке дочернего окна Info.

 

О программе

 

В программе создадим поэтапно три объекта-окна и объект-кнопку. При нажатии на кнопку специальная функция- обработчик этой кнопки определит размер толщины круга и передаст этот размер дочерним окнам и потребует перерисовать круг и строку.

Программу разработаем поэтапно.

На первом этапе создадим прикладное окно Upr. Убедившись, что в выполняющейся программе появилось окно, перейдем ко второму этапу разработки.

На втором этапе создадим дочерние окна Model и Info. Дочерние окна создадим с помощью оператора new в конструкторе прикладного окна.Таким образом, объект прикладного окна содержит два объекта дочерних окон. Убедившись, что в выполняющейся программе появились и дочерние окна, перейдем к третьему этапу разработки.

На третьем этапе создадим в прикладном окне объект-кнопку but. Убедившись, что в выполняющейся программе появилась кнопка в прикладном окне, перейдем к четвертому этапу разработки.

На четвертом этапе изменим объекты дочерних окон Model и Info.

Теперь в дочернем окне Model рисуется круг, а в дочернем окне Info выдается строка, указывающая толщину круга. Убедившись, что в выполняющейся программе в дочерних окнах появились круг со строкой, перейдем к пятому этапу разработки

Пятый этап интересный. Здесь мы реализуем функцию –обработчик actionPerformed() кнопки. Для чего воспользуемся событием кнопки и классом ActionListener. В обработчике actionPerformed(), используя ссылки mod и inf на объекты дочерних окон, изменим толщину d круга и выполним функции repaint() этих окон, обеспечивающих выполнение функций paint() перерисовки этих окон.

 

Этап 1. Каркас приложения с основной формой

import java.awt.*;

 

class Model extends Frame

{

}

 

class Inf extends Frame

{

}

 

class Upr extends Frame

{

public Upr ()

{

setSize(300,300);

setVisible(true);

setTitle("Upr");

}

}

class Test

{

public static void main()

{

Upr upr=new Upr();

}

}

 

Приложение содержит три окна, порождённых из класса Form. Классы Model и Inf пустые и на данном этапе не задействованы. Используется только основной класс Upr, объект которого создаётся в аргументе статической функции run() класса Frame. Функция run() высвечивает его в виде прикладного окна на экране. В конструкторе класса Upr прикладному окну присваивается заголовок и задаются его размеры.

 

Этап 2. Основная форма имеет две дочерние формы

 

...

class Upr extends Frame

{

public Upr ()

{

setSize(300,300);

setVisible(true);

setTitle("Upr");

Model mod= new Model ();

mod.setTitle("Model");

mod.setSize(300,300);

mod.setVisible(true);

Inf inf= new Inf ();

inf.setTitle("Information");

inf.setSize(300,300);

inf.setVisible(true);

/////////

This.addWindowListener (new WindowAdapter ()

{

Public void windowClosing (WindowEvent wE)

{

System.exit(0);

}

});

}

}

 

class Test

{

public static void main()

{

Upr upr=new Upr();

}

}

 

Конструктор Upr основной формы создаёт объекты дочерних форм, определяет их заголовки и показывает эти формы на экране с помощью функции setVisible() из наследуемого класса Form.

Если в случае языка C# уже реализовано закрытие окна по кнопке, то в случае языка Java это необходимо сделать в конструкторе. В конце тела конструктора Upr() реализовано закрытие окна с использованием специального класса WindowAdapter и функций windowClosing() и exit().

 

Этап 3. На основной форме появляется кнопка

import java.awt.*;

import java.awt.event.*;

 

 

class Model extends Frame

{

}

 

class Inf extends Frame

{

}

 

class Upr extends Frame

{

Model mod;

Inf inf;

Button but;

 

public Upr ()

{

setSize(300,300);

setVisible(true);

setTitle("Upr");

mod= new Model ();

mod.setTitle("Model");

mod.setSize(300,300);

mod.setVisible(true);

inf= new Inf ();

inf.setTitle("Information");

inf.setSize(300,300);

inf.setVisible(true);

/////////

this.addWindowListener (new WindowAdapter ()

{

public void windowClosing (WindowEvent wE)

{

System.exit(0);

}

});

this.setLayout(null);

but= new Button ("OK");

but.setSize(30,40);

but.setLocation(50,50);

add(but);

}

}

 

class Test

{

public static void main()

{

Upr upr=new Upr();

}

}

 

Создана кнопка but типа Button и подсоединена к управляющим элементам основной формы с помощью функции add().

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: