Файл: Отчет по лабораторной работе 3 по дисциплине Объектноориентированное программирование.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.02.2024

Просмотров: 10

Скачиваний: 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 save0;

private JButton save1;

private JButton save2;

private JButton save3;

private JButton save4;

private JButton save5;

private JButton save6;

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);

// Создание кнопок и прикрепление иконок

save0 = new JButton(new ImageIcon("./img/new.png"));

save1 = new JButton(new ImageIcon("./img/save.png"));

save2 = new JButton(new ImageIcon("./img/open.png"));

save3 = new JButton(new ImageIcon("./img/add.png"));

save4 = new JButton(new ImageIcon("./img/edit.png"));

save5 = new JButton(new ImageIcon("./img/delete.png"));

save6 = new JButton(new ImageIcon("./img/print.png"));

// Настройка подсказок для кнопок

save0.setToolTipText("Создать новый список туров");

save1.setToolTipText("Сохранить список туров");

save2.setToolTipText("Открыть список туров");

save3.setToolTipText("Добавить тур");

save4.setToolTipText("Редактировать тур");

save5.setToolTipText("Удалить тур");

save6.setToolTipText("Распечатать туры");

// Добавление кнопок на панель инструментов

toolBar = new JToolBar("Панель инструментов");

toolBar.add(save0);

toolBar.add(save1);

toolBar.add(save2);

toolBar.add(save3);

toolBar.add(save4);

toolBar.add(save5);

toolBar.add(save6);

// Размещение панели инструментов

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();

}
}