русс | укр

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

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

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

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


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

Контейнери


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


Компонента, яка зображається на екрані, повинна додаватись до класу – контейнера. Контейнери служать сховищем для візуальних компонентів інтерфейсу та інших контейнерів. Найпростіший приклад контейнера – клас Frame, об'єкти якого відображаються на екрані як стандартні вікна з рамкою.

Щоб показати компонент користувацького інтерфейсу у вікні, потрібно створити об'єкт– контейнер, наприклад вікно класу Frame, створити необхідний компонент і додати його в контейнер, а потім відобразити його на екрані. У тексті програми цей процес займає кілька рядків:

Label text = new Label("Рядок");// Створюється об'єкт "Рядок"

SomeContainer.add (text); // Об'єкт додається в контейнер

SomeContainer.Show();// Відображається контейнер

У прикладі використано варіант методу add, що приймає один аргумент – вказівник на об'єкт, що заноситься в контейнер. Інші варіанти методу add() мають два аргументи: порядковий номер у списку керуючих елементів контейнера, куди буде вставлений елемент і вказівник на об'єкт; або рядок, що вказує місце у вікні, де повинен бути розміщений об'єкт інтерфейсу, і вказівник на об'єкт, що вставляється.

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

Клас Label. За допомогою класу Label можна створювати текстові рядки у вікні Java– програм і аплетів.

КласButton представляє на екрані кнопку.

Клас Checkbox відповідає за створення і відображення кнопок з незалежною фіксацією. Ці кнопки мають два стани: "включене" і "виключене".

КласChoiceдозволяє створити список, що розкривається.

Клас List(список) за призначенням подібний на клас Choice. Він представляється вікном зі смугами прокручування, всередині якого знаходяться пункти вибору. Вибір пунктів здійснюється подвійним кліком мишею чи натисненням клавіші <Enter> після виділення пункту.



КласScrollbar представляє на екрані смугу прокручування.

Два класи TextField і TextAreaдозволяють відображати текст із можливістю його виділення і редагування.

Клас Panel – це контейнер, в який додаються інші елементи чи контейнери інтерфейсу. Він використовується якщо необхідно виконати складне розміщення елементів у вікні Java– програми чи аплету.

Одним з найважливіших класів інтерфейсу користувача можна вважати клас Frame. За допомогою цього класу реалізуються вікна Java – програм і аплетів. На відміну від інших класів інтерфейсу користувача, екземпляри класу Frame створюються рідко. Від нього успадковуються нові класі, на основі яких створюються об’єкти.

Основними методами класу Frame є: pack() – змінити розмір компонентів у вікні так, щоб їхній розмір був максимально наближений до бажаного; getTitle() – повернути заголовок вікна; setTitle(String) – установити заголовок вікна; getIconImage() – повернути піктограму вікна; setIconImage(Image) – встановити піктограму вікна; getMenuBar() – повернути об'єкт меню вікна; setMenuBar(MenuBar) – встановити меню вікна; remove(MenuComponent) – вилучити позначений компонент із меню вікна; isResizable() – повернути true, якщо розмір вікна можна змінювати, інакше – false; setResizable(boolean) – дозволити зміну розмірів вікна; getCursorType() – повернути біжучий тип курсору миші для вікна; setCursor(int) – встановити тип курсору миші для вікна.

КласDialogпризначенийдля підтримки зв'язку з користувачем і створення діалогових панелей. На відміну від простих вікон діалогові панелі залежать від того чи іншого вікна, і тому в їхніх конструкторах присутній параметр– вказівник на вікно класу Frame, що володіє цією діалоговою панеллю.

Класи елементів меню. Мова Java має кілька класів для створення меню, успадкованих від класу MenuComponent. Клас MenuBar є основним в системі меню, контейнером для інших класів. При створенні вікна вказівник на меню MenuBar необхідно передати його конструктору .

Клас Menu на смузі меню відображається як пункт вибору, який розкривається у виді сторінки з пунктами вибору (pop– up menu), якщо по ньому клікнути. Самі ж елементи вибору меню реалізуються як екземпляри класів MenuItem (простий елемент вибору) і CheckboxMenuItem (елемент вибору).

КласCanvas.При необхідності створити область для виведення даних (зображень і тексту) чи малювання необхідно використати клас Canvas. Це віртуальне "полотно" для художника і письменника. Клас Canvas також можна використовувати як базовий клас для створення своїх елементів інтерфейсу, наприклад, власної кнопки.

Створення будь - якого спадкоємця від Canvas базується на реалізації методів paint() для малювання зображення і тексту на робочій поверхні, minimumSize() іpreferredSize()для керування її розмірами.

Планування розташування.Для керування розміщенням елементів – контейнерів у вікні Java використовує менеджер планування розташування об’єктів на поверхні (layout manager). Від нього успадковуються п'ять класів, що визначають той чи інший тип розташування компонентів інтерфейсу користувача у вікні. Для зміни типу розташування при створенні класу, що відповідає поставленому завданню вказівник на нього передається методу setLayout(), що змінює біжуче планування:

setLayout( new BorderLayout() ); // встановити розташування елементів

Наведемо приклад формування областей введення та виведення тексту при пообудові програми надсилання пошти за протоколом SMTP.

import java.io.*;

import java.net.*;

import java.awt.*;

 

public class Mail extends Panel {

setLayout(new BorderLayout());

TextField smtp;

TextField from;

TextField to;

TextField subject;

TextArea body;

static TextArea out;

Label from1;

Label to1;

Label subject1;

Label smtp1;

public Mail(Canvas canvas){

add(smtp1=new Label("SMTP"));

add(smtp=new TextField("",25));

add(subject1=new Label("Тема"));

add(subject=new TextField("",25));

add(from1=new Label("Звідки"));

add(from=new TextField("",24));

add(to1=new Label("Куди "));

add(to=new TextField("",25));

add(body=new TextArea("",10,70,3));

add(new Button("Відіслати"));

add(out=new TextArea("",5,70,1));

}

public static void main(String args[]) {

Canvas c = new Canvas();

Frame f = new Frame("Mail");

Mail newmail = new Mail(c);

f.add("Center", newmail);

f.resize(300, 300);

f.show();

}

}

Програма наведеного прикладу готує інтерфейс (рис.2) для заповнення полів відповідними текстами та реалізації команди на відсилання тексту повідомлення.

Задачею лабораторної роботи є побудова програми для моделювання руху об'єктів на площині (рис.2). Вибір об'єктів здійснюється з візуального меню у вікні Стрічкове меню дає можливість створювати нове вікно, змінювати швидкість руху об’єктів, задавати кількість генерованих об’єктів та інші їх характеристик. Об’єкти генеруються у вікні. Рухаються і відбиваючись від стінок (один від одного) продовжують рух.

Студент має побудувати всі можливі класи для ідентифікації всіх можливих об’єктів, з властивостями бути перенесеними і намалювати ці об’єкти.(програма має мати можливість роздрукувати малюнок на принтері).

Рис. 2.



<== предыдущая лекция | следующая лекция ==>
Склад пакету | Опис класів


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


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

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

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


 


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

 
 

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

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