size = 4>" +
" Это преемник основополагающих<br>" +
" традиций и направлений тех самых знаменитых мотоциклов из 70-х годов. <br>" +
" Сочетание колоритного стиля прошлых лет и применение <br>" +
" современных технологий в совокупности с уникальными <br>" +
" инженерными решениями позволяет представить этот <br>" +
" мотоцикл в качестве классической версии в современном <br>" +
" английском исполнении.</html>";
add(b1);
add(b2);(b3);(b4);(t1);
}
}
Для создания второго рамочного окна использованы следующие команды:
class Triumph extends JFrame {
JLabel l1;
public Triumph(String s){
super(s);
setLayout(new FlowLayout());
l1 = new JLabel("");
add(l1);
Dimension labelSize = new Dimension(540, 405);.setPreferredSize(labelSize);.setIcon(new javax.swing.ImageIcon("C:\\Users\\Zhalgass\\Documents\\NetBeansProjects\\Салахеденов\\src\\Triumph.jpg"));
}
}
2.1 Создание инфологической модели апплета
Рисунок 2.3
.1.1 Использование инструментальных средств программного пакета «BPWin»
Для создания инфологической модели использованы следующие инструментальные средства:
Activity Box Tool - Для установки блока в диаграмме
Рисунок 2.4
Arrow Tool - Для установки дуги в диаграмме
Рисунок 2.5
.1.2 Использование инструментальных средств пакета прикладной программы «Net Beans 8.1.»
Для создания апплета использованы следующие инструментальные средства:
JFrame - Для создания главного и дочернего рамочного окна
Рисунок 2.6
JLabel - Для показа текста и изображения внутри рамочного окна
Рисунок 2.7
JButton - Для создания кнопок рамочного окна
Рисунок 2.8
.2 Физическое проектирование апплета
.2.1 Описание библиотеки Swing java- это, пожалуй, самый простой компонент, который есть в Java Swing. С помощью JLabel можно показать текст с иконкой. Если нужен какой-то компонент, чтобы отобразить какое-то сообщение пользователю или сделать для поля ввода текстовую метку, или показать иконку - используем JLabel. Текст, который показывает JLabel выделять нельзя, только смотреть.
Для создания объекта JLabel, который затем будем располагать в окне, можно воспользоваться конструктором со строковым параметром public JLabel (String text). Строковый параметр - это текст, который будет показываться в JLabel. Кроме того, текст, который будет отображаться в JLabel можно установить при помощи метода setText. Единственным параметром метода является строка отображаемого текста String.
Текстовое поле <<JTextField>> является самым простым компонентом и наиболее часто встречающимся в пользовательских интерфейсах. Как правило, поле является однострочным и служит для ввода текста. Представленное классом JTextField, позволяет вводить однострочный текст.
Общее для всех кнопок поведение задает абстрактный класс AbstractButton. Важные данные компонента и интерфейс к ним хранятся в классе кнопочной модели DefaultButtonModel, реализующем методы интерфейса ButtonModel. Это еще один неявный "кнопочный родственник".
От AbstractButton наследуются два основных кнопочных класса: JButton и JToggleButton. Первый служит для создания обычных кнопок с разнообразными возможностями, а второй - для создания радиокнопок (класс JRadioButton) и отмечаемых кнопок (класс JCheckBox).
3. Разработка апплета
.1 Разработка классов апплета
Первый и главный класс называется «MyClass»:
В нем содержится основной метод «main» с параметрами главного рамочного окна апплета.
Второй класс называется «Frame»:
Рисунок 3.2
Он состоит из конструктора и переменных первого рамочного окна.
Третий класс называется «Triumph»:
Рисунок 3.3
Он состоит из конструктора и переменных второго рамочного окна.
.2 Разработка конструкторов апплета
Конструктор - это специальный метод, который вызывается при создании нового объекта. Не всегда удобно инициализировать все переменные класса при создании его экземпляра. Иногда проще, чтобы какие-то значения были бы созданы по умолчанию при создании объекта. По сути конструктор нужен для автоматической инициализации переменных. Конструктор инициализирует объект непосредственно во время создания. Имя конструктора совпадает с именем класса, включая регистр, а по синтаксису конструктор похож на метод без возвращаемого значения.
В данном приложении используются два конструктора «Frame» и «Triumph».
Конструктор «Frame» выполняет следующие операции:
·Объявляет и инициализирует компоненты первого рамочного окна
·Cоздает анонимные классы внутреннего слушателя для каждого из элементов управления, которые в них нуждаются.
Конструктор «Triumph» выполняет следующие операции:
·Объявляет и инициализирует компоненты второго рамочного окна
Рисунок 3.4
.3 Разработка методов апплета
Метод - это функция, являющаяся частью некоторого класса, которая может выполнять операции над данными этого класса. В языке Java вся программа состоит только из классов и функции могут описываться только внутри них. Именно поэтому все функции в языке Java являются методами.
Суть понятия метод рассматривается на следующем занятии. А пока мы можем использовать его как синоним знакомого (по другим языкам программирования) понятия функция.
В классе «MyClass» использованы следующие методы:
Main() - указать интерпретатору Java, откуда надо начинать выполнение программы.
setVisible() - показывает/скрывает какой либо элемент. Имеет два значения: true - показать, false - скрыть.
(x,y) - устанавливает размеры окна. Если не задать размеры, окно будет иметь нулевую высоту независимо от того, что в нем находится и пользователю после запуска придется растягивать окно вручную. Размеры окна включают не только «рабочую» область, но и границы и строку заголовка.
() - разрешает/запрещает возможность изменения размера рамочного окна.
Имеет два значения: true - разрешить, false - запретить.
() - указывает в какой области экрана появляется рамочное окно.
() - указывает действие, которое необходимо выполнить, когда пользователь закрывает окно нажатием на крестик. Обычно в программе есть одно или несколько окон при закрытии которых программа прекращает работу. Для того, чтобы запрограммировать это поведение, следует в качестве параметра передать константу EXIT_ON_CLOSE.
В классе «Frame» использованы следующие методы:
(x, y, w, h) - указывает координаты верхней левой вершины окна, а также его ширину и высоту.
Add() - добавляет элемент в рамочное окно.
setText() - позволяет дать наименование определенному объекту например метке или кнопки.
setForeground() - позволяет указать цвет текста.
.4 Разработка операторов апплета
В данном апплете использованы операторы:
·Операторы присваивания
Для того, чтобы можно было сравнивать два значения, в Java имеется набор операторов, описывающих отношение и равенство.
«=» - оператор присваивания.
3.5 Изображение апплета
Первое рамочное окно без нажатия каких либо кнопок:
Рисунок 3.5
Первое рамочное окно при нажатии кнопки «Инфо»:
Рисунок 3.6
Первое рамочное окно при нажатии кнопки «Изменить цвет»:
Рисунок 3.7
При нажатии кнопки «Картинка продукта» появляется второе рамочное окно:
Рисунок 3.8
4. Защита от апплета
.1 Ограничение апплета
Браузер может вообще отказаться от загрузки апплетов. В Netscape Communicator это делается с помощью флажка Enable Java в окне, вызываемом командой Edit | Preferences | Advanced, в Internet Explorer - в окне после выбора команды Tools | Internet Options | Security. В таком случае говорить в этой книге больше не о чем.
Если браузер загружает апплет, то создает ему ограничения, так называемую "песочницу" (sandbox), в которой резвится апплет, но выйти из которой не может. Каждый браузер создает свои ограничения, но обычно они заключаются в том, что апплет:
·не может обращаться к файловой системе машины, на которой он выполняется, даже для чтения файлов или просмотра каталогов;
·может связаться по сети только с тем сайтом, с которого он был загружен;
·не может прочитать системные свойства, как это делает, например, приложение в листинге 6.4;
·не может печатать на принтере, подключенном к тому компьютеру, на котором он выполняется;
·не может воспользоваться буфером обмена (clipboard); не может запустить приложение методом ехес ();
·не может использовать "родные" методы или загрузить библиотеку методом load ();
·не может остановить JVM методом exit ();
·не может создавать классы в пакетах java.*, а классы пакетов sun.* не может даже загружать.
Браузеры могут усилить или ослабить эти ограничения, например, разрешить локальным апплетам, загруженным с той же машины, где они выполняются, доступ к файловой системе. Наименьшие ограничения имеют доверенные (trusted) апплеты, снабженные электронной подписью с помощью Классов ИЗ пакетов java.security
При создании приложения, загружающего апплеты, необходимо обеспечить средства проверки апплета и задать ограничения. Их предоставляет класс securityManager. Экземпляр этого класса или его наследника устанавливается в JVM при запуске виртуальной машины статическим методом setSecurityManager (SecurityManager sm) класса System. Обычные приложения не могут использовать данный метод.
Заключение
программа интерфейс апплет библиотека
Апплеты были первоначальным практическим применением Java. За первые два года существования Java были написаны тысячи очень интересных и красивых апплетов, ожививших Интернет. Масса апплетов разбросана по Internet, хорошие примеры апплетов собраны в JDK в каталоге demo\applets.
В JDK вошел целый пакет java.applet, в который фирма SUN собиралась заносить классы, развивающие и улучшающие апплеты.
С увеличением скорости и улучшением качества компьютерных сетей значение апплетов сильно упало. Теперь вся обработка данных, прежде выполняемая апплетами, переносится на сервер, браузер только загружает и показывает результаты этой обработки, становится "тонким клиентом".
В ходе написание курсовой работы мною были продемонстрированы возможности языка программирования JAVA. В частности, создан апплет на базе класса JFRAME из библиотеки JAVA.swing.
Созданный апплет предназначен для создания рамочных окон на базе фреймов библиотеки java.swing. В рамочных окнах выводится статические текстовая и графическая информация. Для вывода данных используется компонент JButton библиотеки java.swing, а также изменяется цвет текстовых данных. Все работы по написанию JAVA апплета выполнены в свободной интегрированной среде разработки приложений IDE NetBeans.
Список использованных источников
1. Герберт Шилдт «Java. Руководство для начинающих», 2015.
. Брюсь Эккель «Философия Java», 2013.
. Джошуа Блох. «Java. Эффективное программирование», 2013.
5. Кея Хорстманна «Java 2», 2016
. Kathy Sierra «Head First Java», 2015