русс | укр

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

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

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

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


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

Лабораторная работа № 2.


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


 

Листинг 2. abc2.java - апплетный вариант решения уравнения ax2+bx+c=0.

----------------------------------------------------------------

// Подключение пакетов, содержащих классы

import java.awt.*;//для создания граф. интерфейса

import java.applet.*;//для создания java-апплетов

import java.awt.event.*;//для обработки событий

// Определим класс abc2, расширяющий класс Applet

public class abc2 extends Applet{

//Объявление переменных

TextField t1, t2, t3;

Button b1;

String Sa;

// При инициализации апплета создаем элементы управления

public void init(){

// Устанавливаем абсолютное позиционирование

// компонентов внутри апплета

setLayout(null);

// Установка оранжевого фона для апплета

setBackground(Color.orange);

// Создание метки и текстового поля для коэф. a

//Создание метки

Label l1 = new Label("Введите a: ");

//Установка границ метки

l1.setBounds(20, 20, 180, 20);

// Добавление метки на рабочее поле аплета

add(l1);

// Создание текстового поля для а

t1 = new TextField(10);

//Установка границ текстового поля

t1.setBounds(20, 40, 100, 20);

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

add(t1);

// Создание метки и текстового поля для коэф. b

Label l2 = new Label("Введите b: ");

l2.setBounds(20, 60, 180, 20);

add(l2);

t2 = new TextField(10);

t2.setBounds(20, 80, 100, 20);

add(t2);

// Создание метки и текстового поля для коэф. с

Label l3 = new Label("Введите c: ");

l3.setBounds(20, 100, 180, 20);

add(l3);

t3 = new TextField(10);

t3.setBounds(20, 120, 100, 20);

add(t3);

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

b1 = new Button("Решить");

b1.setBounds(20, 170, 160, 20);

add(b1);

}//конец init()

// Метод вывода графики в апплете

public void paint(Graphics g){



// Вывод строк

g.drawString("Ответ: ", 10, 220);

g.drawString(Sa, 90, 220); }

// Обработка реакции на нажатие кнопки Решить

public boolean action(Event evt, Object arg){

if(arg == "Решить"){

// Объявление и инициализация переменных

double a,b,c,d,m,eps = 1e-8; int i;

String s1a="";

String s1=t1.getText();

String s2=t2.getText();

String s3=t3.getText();

a = Double.valueOf(s1).doubleValue();

b = Double.valueOf(s2).doubleValue();

c = Double.valueOf(s3).doubleValue();

// Решение уравнения

if(Math.abs(a)<eps)

if(Math.abs(b)<eps)

if(Math.abs(c)<eps)

s1a="any solution";

Else

s1a="no solution";

Else

s1a="x1 = x2 = " + (-c/b);

else {

if((d = b*b - 4*a*c)<0){

d=0.5*Math.sqrt(-d)/a; a=-0.5*b/a;

s1a="x1 ="+a+" + i" +d+ ",x2= "+a+" - i"+d;

}

else {

d=0.5*Math.sqrt(d)/a; a=-0.5*b/a;

s1a="x1 = "+(a+d)+", x2 = "+(a-d);

}

}

Sa=s1a;

// Перерисовка окна апплета

repaint();

return true;

}

Else

return false;

}

}

Апплет начинается с операторов import. Первый импортирует AWT классы, так как апплеты взаимодействует с пользователем через абстрактный оконный интерфейс, а не через классы консольного ввода/вывода. Второй оператор import импортирует пакет java.applet, который содержит класс Applet. Создаваемый пользователь апплет должен быть подклассом этого класса. Третий оператор подключает библиотеку обработки событий.

С помощью строки объявления abc2 extends Appletсообщается, что класс abc2 наследует все переменные и методы более общего класса Applet. Нужно добавить к нему только нужный код.

С помощью апплета в графическую область Web-браузера можно выводить любую информацию. При перекрытии окна браузера другими окнами или его свертывании в пиктограмму это становится невозможным. Когда окно браузера вновь появляется на экране, апплет должен перерисовать свое содержимое. Это осуществляется с помощью метода repaint().

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

Большинство пользовательских событий, возникающих в апплете, можно обрабатывать, переопределяя метод action(). Этот метод имеет следующий вид:

public boolean action}(Event evt, Object arg)

Когда пользователь щелкает по одной из кнопок апплета, вызывается метод action(). Так как arg - это тестовая метка нажатой кнопки, то можно определить, какую кнопку выбрал пользователь.

Метод action() возвращает значение false, указывающее системе Java, что событие еще не обработано. Пользователь должен доопределить этот метод в своей прикладной программе.

Апплеты Java выполняются в среде Java-совместимого браузера. Для выполнения апплета в Web-броузере можно записать короткий текстовый файл в формате языка HTML, который содержит тег <applet>.

Вид HTML-файла:

<HTML> <body>

<applet code="abc2.class" width=200 height=60>

</applet>

</body> </HTML>

Для тега <applet> обязательны атрибуты code, width и height. Параметры width и height определяют размеры окна апплета (200 и 60). После создания файла с расширением .html, можно запустить этот файл, что приведет к выполнению апплета.

Укажем последовательность операций, выполняющихся при загрузке апплета.

1. Загружается HTML-файл.

2. Обнаруживается тег <applet>.

3. Файл класса, указанного в <applet>, загружается с сервера.

4. Распознаются и загружаются классы, на которые ссылается класс applet.

5. Класс applet вызывает методы init() и start().

6. Если все происходит нормально, апплет отображается в окне броузера (или вне его, если он использует собственный кадр - frame).

Процедура быстрой разработки апплета включает три шага:

1. Редактирование исходного файла Java.

2. Компиляция программы.

3. Запуск программы просмотра апплетов со спецификацией имени исходного файла апплета в ее аргументе. Встретив в комментарии тег <applet> утилита просмотра выполнит его.

Итак, ключевые моменты создания апплета:

· Апплеты не нуждаются в методе main().

· Апплеты должны выполняться броузером, поддержающим Java.

 



<== предыдущая лекция | следующая лекция ==>
Апплеты. Основные принципы создания | Лабораторная работа № 3.


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


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

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

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


 


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

 
 

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

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