Файл: Отчет по лабораторной работе 3 по дисциплине Объектноориентированное программирование.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.02.2024
Просмотров: 15
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра ВТ
отчет
по лабораторной работе №3
по дисциплине «Объектно-ориентированное программирование»
Студент гр. 1308 | | Мальцев А.П. |
Преподаватель | | Гречухин М.Н. |
Санкт-Петербург
2023
Цель работы:
Знакомство с правилами построения экранной формы.
Задача:
Экранная форма предназначена для отображения списка туров, она может менять свой размер на экране. Форма должна реализовывать следующие функции: создание списка туров, загрузку списка туров из файла, сохранение списка туров в файле, добавление тура в список, переход к карточке для редактирования данных о туре, удаление тура из списка, поиск тура по отелю или города, вывод списка туров на печать.
Описание проверки работоспособности приложения и экранные
формы, которые отображаются при запуске контрольного примера:
Инструментальная панель JToolBar размещена менеджером граничного размещения BorderLayout .NORTH. Она состоит из кнопок JButon ( “Создать новый список туров’, "Сохранить список туров", "Открыть список туров", "Добавить тур", "Редактировать", "Удалить тур" и "Печать списка туров").Выпадающий список JComboBox, текстовое поле JTextField и кнопка “Поиск” помещаются на панель класса JPanel, на которой добавляемые компоненты размещаются по центру панели. Расположение самой панели в окне пользовательского интерфейса определяет метод add с параметром BorderLayout.SOUTH, задавая тем самым размещение панели
внизу окна. Таблица JTable состоит из пяти столбцов("Город","Отель","День отлета","День прилета",”Стоимость”) . Таблица находится в центре (на всем свободном месте) экранной формы.
Текст программы:
package touroperator;
//Подключение графических библиотек
import java.awt.BorderLayout;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class Gui {
private JFrame tourList;
private DefaultTableModel model;
private JButton createButon;
private JButton saveButon;
private JButton openButon;
private JButton addButon;
private JButton editButon;
private JButton deleteButon;
private JButton printButon;
private JToolBar toolBar;
private JScrollPane scroll;
private JTable tours;
private JComboBox city;
private JTextField hotels;
private JButton filter;
public void show() {
// Создание окна
tourList = new JFrame("Список туров");
tourList.setSize(500, 300);
tourList.setLocation(100, 100);
tourList.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Создание кнопок и прикрепление иконок
createButon = new JButton(new ImageIcon("./img/new.png"));
saveButon = new JButton(new ImageIcon("./img/save.png"));
openButon = new JButton(new ImageIcon("./img/open.png"));
addButon = new JButton(new ImageIcon("./img/add.png"));
editButon = new JButton(new ImageIcon("./img/edit.png"));
deleteButon = new JButton(new ImageIcon("./img/delete.png"));
printButon = new JButton(new ImageIcon("./img/print.png"));
// Настройка подсказок для кнопок
createButon.setToolTipText("Создать новый список туров");
saveButon.setToolTipText("Сохранить список туров");
openButon.setToolTipText("Открыть список туров");
addButon.setToolTipText("Добавить тур");
editButon.setToolTipText("Редактировать тур");
deleteButon.setToolTipText("Удалить тур");
printButon.setToolTipText("Распечатать туры");
// Добавление кнопок на панель инструментов
toolBar = new JToolBar("Панель инструментов");
toolBar.add(createButon);
toolBar.add(saveButon);
toolBar.add(openButon);
toolBar.add(addButon);
toolBar.add(editButon);
toolBar.add(deleteButon);
toolBar.add(printButon);
// Размещение панели инструментов
tourList.setLayout(new BorderLayout());
tourList.add(toolBar, BorderLayout.NORTH);
// Создание таблицы с данными
String [] columns = {"Город", "Отель", "Дата отлета", "Дата прибытия","Стоимость"};
String [][] data = {{"Стамбул", "Султан", "23.06.2023","30.06.2023","50000"},
{"Рим", "Колизей", "23.06.2023","30.06.2023","100000"}};
model= new DefaultTableModel(data, columns);
tours = new JTable(model);
scroll = new JScrollPane(tours);
// Размещение таблицы с данными
tourList.add(scroll, BorderLayout.CENTER);
// Подготовка компонентов поиска
city = new JComboBox(new String[]{"Город", "Стамбул",
"Рим"});
hotels = new JTextField("Название отеля");
filter = new JButton("Поиск");
// Добавление компонентов на панель
JPanel filterPanel = new JPanel();
filterPanel.add(city);
filterPanel.add(hotels);
filterPanel.add(filter);
// Размещение панели поиска внизу окна
tourList.add(filterPanel, BorderLayout.SOUTH);
// Визуализация экранной формы
tourList.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
// Создание и отображение экранной формы
new Gui().show();
}
}