Створення компонентів JavaBeans

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Факультет «Інформатика та системи управління»
Методичні вказівки до лабораторної роботи
за курсом «Розподілені системи обробки інформації»
"Створення компонентів JavaBeans"
Москва 2004

Мета роботи

1. Вивчити основні поняття та призначення технології JavaBeans.
2. Навчитися створювати jar-файли в середовищі Eclipse.
3. Вивчити структуру файлів маніфесту.
4. Познайомитися зі створенням багатопоточних додатків.
5. Освоїти простий візуальний редактор Java BeanBox.

 

Завдання для домашньої підготовки

Ознайомитися з теоретичним матеріалом, представленим у додатках до даних методичних вказівок і прикладами програм. Ознайомитися з текстом завдання до лабораторної роботи, запропонувати розміщення компонентів і функціональність, що задовольняє вимогам завдання до лабораторної роботи, і написати програму.

Завдання до лабораторної роботи

Необхідно створити компонент JavaBean, що працює в ролі таймера. Він повинен виводити кількість спрацьовувань з моменту активації. Інтервал таймера задається у властивостях компонента.

 

Зміст звіту

Звіт повинен містити:
1. Постановку задачі, розв'язуваної налагодженої програмою.
2. Керівництво користувача налагодженої програми, що містить опис інтерфейсів всіх функцій програми.
3. Лістинг програми з необхідними коментарями.

Контрольні питання
1. Де використовуються компоненти JavaBeans?
2. Що являє собою процес створення компоненту?
3. В якому місці цієї роботи необхідно використання потоків?
4. Що таке файл маніфесту?
5. Для чого потрібні jar-архіви?
6. Для чого потрібен редактор BeanBox?
7. Як побачити свій компонент в дії?

 

Література

Офіційні джерела:
1. Кен Арнольд, Джеймс Гослінг, Девід Холмс. Мова програмування Java ™.
2. Офіційний сайт Java - http://java.sun.com/ (є розділ російською мовою з підручником).
3. Java ™ 2 SDK, Standard Edition Documentation - http://java.sun.com/products/jdk/1.5/index.html.
4. Джеймс Гослінг, Білл Джой, Гай Стіл. Специфікація мови Java (The Java Language Specification - http://www.javasoft.com/docs/books/jls/). Переклад на російську мову - http://www.uni-vologda.ac.ru/java/jls/index.html
5. Офіційний сайт проекту Eclipse - http://www.eclipse.org/.
6. BeanSDK Documentation.
Інше:
1. Дмитро Рамодін. Починаємо програмувати на мові Java.
2. Микола Смирнов. Java 2: Навчальний посібник.
3. Картузов А.В. Програмування на мові Java.
4. Вязовік Н.А. Програмування на Java.
5. Олексій Литвинюк. Введення в інтегроване середовище розробки Eclipse - http://lib.juga.ru/article/articleview/174/1/69/.

Додаток 1: Загальні відомості про компоненти JavaBeans

Офіційне визначення компонента JavaBean в документації BeanSDK виглядає наступним чином: «Компонент - це повторно використовуваний елемент програмного забезпечення, заснований на специфікації JavaBeans компанії Sun Microsystems, яким можна керувати візуально за допомогою інструментів інтегрованої розробки». Аналогом компонентів JavaBeans є ActiveX-компоненти (кнопки, перемикачі, прапорці, текстові поля тощо), які вивчалися в курсі «візуальне програмування на Visual Basic».
Програмувати за допомогою компонентів JavaBeans дуже просто - достатньо розмістити необхідні компоненти у вікні і описати їх взаємодію. Як бачите, це дуже схоже на розробку програм у візуальних середовищах програмування (VB, Delphi, Visual C + + і т.п.). Нас же цікавитиме створення самих компонентів.
За своєю суттю компонент JavaBean це звичайний клас (або декілька) з назвами методів, що задаються за спеціальними правилами. Після створення *. class файлів відбувається їх упаковка в архів (файл jar - j ava ar chive). Для завдання інформації про компонент використовують файл маніфесту (див. додаток). Після цього компонент готовий до поширення.

 


Додаток 2: Вимоги до імен методів компонента

Будь-який компонент JavaBean (це стосується однаковою мірою і до ActiveX компонентів інших мов програмування) характеризується наступними параметрами:
- Властивостями
- Генерованими подіями
Наприклад, для компоненту «кнопка» властивостями можуть бути текст кнопки, її розміри і т.п.; події - натискання на кнопку, переклад фокусу.
Властивості:
Для завдання властивості X використовують два методи, один для читання вмісту властивості, інший - для зміни. Їх імена відповідно: «getX» і «setX». Для створення властивості X з незмінним (константним) значенням досить створити тільки метод «getX».
Отже, для створення властивості «FileName» необхідно створити методи:
public String getFileName ()
{
/ / Код методу
}
public void setFileName ()
{
/ / Код методу
}
Винятком є ​​властивості, що приймають логічні (булеві) значення. Імена їх починаються на «is» для отримання значення і «set» для завдань. Таким чином для створення властивості Enabled (активно) необхідні наступні методи:
public boolean isEnabled ()
{
/ / Код методу
}
public void setEnabled ()
{
/ / Код методу
}
Події:
Щоб створити власний події X, необхідно виконати наступні кроки:
- Створити клас XEvent (назва обов'язково має закінчуватися на Event) на основі класу EventObject
- Створити інтерфейс XListener похідний від EventListener з методами повідомлення.
- Додати в компонент JavaBean наступні методи:
public void addXListener (XListener listener) {
listenerList.add (XListener.class listener);
}
public void removeXListener (XListener listener) {
listenerList.remove (XListener.class listener);
}
Додатково можна створити метод активації події
public void fireXEvent (XEvent event)
{
/ / Внутрішній код, що викликає подія XEvent
}

 

 


Додаток 3: Нить

Для одночасного виконання різних процесів, наприклад, взаємодії з користувачем, інтенсивних обчислень, побудови графіка користуються потоки. У звичайній програмі присутній лише один потік, але одночасне виконання вимагає створення додаткових.
У Java потік створюється або породженням свого класу від класу Thread, або створенням класу, що реалізує інтерфейс Runnable. Необхідно визначити метод run (), що відповідає за процес потоку. Після закінчення виконання методу run () потік перестає існувати.
Для затримки виконання потоку на певний час використовується метод Thread.sleep (int time), де time - час затримки в мілісекундах. Щоб примусово перервати виконання потоку використовують метод pleaseStop ().
Для запобігання ситуації, коли два потоки одночасно модифікують один і той самий об'єкт використовується синхронізація потоків. Коли потік починає модифікацію об'єкта, відбувається його блокування, так що інші потоки змушені чекати закінчення процесу модифікації. Для створення методів, які використовують синхронізацію потоків, в заголовку методу пишеться ключове слово synchronized.
При роботі з синхронізованими методами може виникнути ситуація взаємоблокування (deadlock). Суть проблеми в наступному: два синхронізованих методу можуть блокувати один одного, так що ні один з потоків не може ні зняти блокування, ні продовжити виконання. Дана помилка є однією з найбільш часто зустрічаються при роботі з потоками.

Додаток 4: Створення jar-файлів в Eclipse. Формат файлу маніфесту

Файл маніфесту зберігає в собі інформацію про вміст архіву jar. Однією з найбільш важливих можливостей, що надаються маніфестами, є створення автоматично запускаються архівів.
Стосовно компонентів JavaBeans маніфести використовують для інформування середовища розробки про наявність компоненту в jar архіві.
Формат маніфесту для компонента JavaBean виглядає наступним чином:
1. Manifest-Version: 1.0
2. Sealed: true
3. Name: TimerBean.class
4. Java-Bean: True
Зверніть увагу, останній рядок обов'язково повинна бути порожньою. Номери рядків у тексті файлу не пишуться. При збереженні, у файлі маніфесту відсутнє розширення (або присутній *. mf для деяких версій).
Приклад команди для складання jar-файлу:
> Jar cfm NewBean.jar manifest NewBean.class

Додаток 5: Використання компонента в середовищі розробки BeanBox

До складу BeanSDK 1.1 входить найпростіша середовище для тестування JavaBeans компонентів BeanBox. Знайти її можна в папці JDK FOLDER \ beans \ beanbox \
Для тестування роботи компонента необхідно помістити jar файл з підготовленим маніфестом в папку JDK FOLDER \ beans \ jars \. У ній вже є кілька заздалегідь створених JavaBeans.
Після цього, при завантаженні середовища в списку доступних компонентів з'явиться тестований компонент. Для використання досить перетягнути його на вікно форми.

Рис. 1: Вікно форми BeanBox
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Лабораторна робота
19.7кб. | скачати


Схожі роботи:
Якісний аналіз компонентів
Установка компонентів в Дельфи
Мотивація як один із структурних компонентів научуваності
Розробка візуальних компонентів для середовища З Builder
Особливості компонентів подружньої сумісності та задоволеності шлюбом
Огляд візуальних компонентів Стандартні компоненти Delphi
Тестування та верифікація HDL-моделей компонентів SOC
Волоконно оптичні сенсори контролю шкідливих хімічних компонентів
Місце невербальних компонентів у парадигмі агресивних реакцій людини
© Усі права захищені
написати до нас