Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Java_Method_Lab.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
1.84 Mб
Скачать

Лабораторна робота №24 Менеджер компоновки BorderLayout: особливості використання

Мета роботи: отримання практичних навичок обробки подій, пов’язаних з натисканням кнопки, використання менеджера BorderLayout для динамічного управління GUI.

Завдання: Створити додаток, який демонструє розміщення компонентів за допомогою планувальника BorderLayout:

  • якщо зайняті|позичені,посісти| всі п'ять регіонів, то весь простір контейнера покритий компонентами GUI;

  • якщо регіон NORTH або SOUTH не зайнятий|позичений,посісти|, компоненти GUI в регіонах WEST, CENTER і EAST розширюються по вертикалі, щоб заповнити простір, що залишився;

  • якщо не зайнятий|позичений,посісти| регіон WEST або EAST, центральний компонент GUI заповнює простір, що все залишився, по горизонталі;

  • якщо регіон CENTER не зайнятий|позичений,посісти|, він залишається порожнім|пустим| – інші компоненти GUI не заповнюють вільний простір, що залишився.

Вигляд екрану працюючого додатка може бути такий:

Контрольні запитання:

  1. Як розміщує компоненти планувальник BorderLayout?

  2. За допомогою якого методу класу JButton можна скрити компонент?

  3. Поясніть особливості роботи планувальника BorderLayout?

  4. Назвіть джерела подій та їх слухачів. Поясніть роботу обробників подій.

Лабораторна робота №25 Менеджер компоновки GridLayout: особливості використання

Мета роботи: отримання практичних навичок обробки подій, пов’язаних з натисканням кнопки, використання менеджера GridLayout для динамічного управління GUI.

Завдання: Створіті додаток, який демонструє розміщення компонентів за допомогою планувальника GridLayout. Хай при клацанні по кнопці розміщення компонентів інтерфейсу змінюється так, як показано в прикладі.

Вигляд екрану працюючого додатка може бути такий:

Контрольні запитання:

  1. Як розміщує компоненти планувальник BorderLayout?

  2. За допомогою якого методу класу JButton можна скрити компонент?

  3. Поясніть особливості роботи планувальника BorderLayout?

  4. Назвіть джерела подій та їх слухачів. Поясніть роботу обробників подій.

Лабораторна робота №26 Обробка подій, пов’язаних з клавіатурою

Мета роботи: отримання практичних навичок обробки подій, пов’язаних з клавіатурою

Завдання: Створити додаток, який ідюструє роботу з подіями, пов’язаними з клавіатурою.

Вигляд екрану працюючого додатка може бути такий:

Контрольні запитання:

  1. Що є джерелом подій?

  2. Чим є слухач події?

  3. Для чого використовуються внутрішні класи?

  4. Що є віртуальним кодом клавіші і як він використовується?

  5. Які інтерфейси використовуються для обробки подій, пов’язаних з клавіатурою?

Лабораторна робота №27 Робота з файлами даних

Мета роботи: отримання практичних навичок збереження даних, уведених користувачем, у текстовому файлі даних.

Завдання: Створити додаток, в якому створюється масив m1 із трьох об’єктів класу Goods. У файл спочатку записується кількість записів, а потім елементи масиву.

При читанні записів з файлу створюється новий масив m2, у який містяться об’єкти, сформовані на підставі прочитаних даних.

Основні теоретичні положення

У мові Java потоком уведення називається об’єкт, з якого можна зчитувати послідовність байтів, а потоком виведення – об’єкт, у який цю послідовність можна записувати. Відповідно існують два абстрактних класи – InputStream й OutputStream.

Якщо інформація представлена в кодуванні Unicode (один символ займає 2 байти), то потоки, орієнтовані на послідовність байтів незручні для її обробки. Тому є інша ієрархія класів, у вершині якої знаходяться класи Reader і Writer.

Створення й використання текстового файлу буде проілюстровано на прикладі запису й файл і читання з файлу даних об’єктів класу Goods, що ми розглядали в лабораторних роботах.

Для виведення тексту в файл даних служить клас PrintWriter. Об’єкти цього класу можуть виводити на друк рядки й числа в текстовому форматі. Оскільки в цьому класі не уточнюється, куди слід виводити дані, об’єкт PrintWriter можна об’єднати з об’єктом, що визначає адресата. Наприклад:

PrintWriter out=new PrintWriter(new FileWriter(“A://goods.dat”));

Записати дані в об’єкт класу PrintWriter можна за допомогою методів print() й println(). Метод println() автоматично додає символ кінця рядка, прийнятий у даній операційній системі.

Для читання тексту існує єдиний клас BufferedReader, у якому є метод readLine(), що дозволяє зчитувати рядки тексту. Об’єкт цього класу потрібно об’єднати з джерелом даних.

BufferedReader in=new BufferedReader(new FileReader(“A:/goods.dat”));

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

При зчитуванні інформації з файлу відбувається зчитування рядка, що представляє дані одного об’єкта Goods. Клас StringTokenizer дозволяє розділити цей рядок на окремі частини (лексеми).

StringTokenizer t=new StringTokeniszer(s,”|”);

тут s-рядок, прочитаний з файлу.

Вигляд екрану працюючого додатка може бути такий:

Контрольні запитання:

  1. Що таке потік уведення? Виведення?

  2. Для чого призначені абстрактні класи InputStream? OutputStream?

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

  4. Для чого призначений клас PrintWriter? Який метод цього классу дозволяэ записати даны?

  5. Для чого призначений клас Bufferedreader? Який метод цього классу дозволяэ прочитати даны?

  6. Для чого призначений клас StringTokeniser? Як його використовувати?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]