Главная страница
Навигация по странице:

  • Цель работы: Знакомство с правилами построения экранной формы.Задача

  • Текст программы

  • Разработка интерфейса пользователя


    Скачать 200.85 Kb.
    НазваниеРазработка интерфейса пользователя
    Дата08.03.2023
    Размер200.85 Kb.
    Формат файлаdocx
    Имя файла1308.LR3.docx
    ТипОтчет
    #974605

    МИНОБРНАУКИ РОССИИ

    Санкт-Петербургский государственный

    электротехнический университет

    «ЛЭТИ» им. В.И. Ульянова (Ленина)

    Кафедра Вычислительной техники


    отчет

    по Лабораторной работе №3

    по дисциплине «Объектно-ориентированное программирование»

    Тема: Разработка интерфейса пользователя


    Студент гр. 1308




    Мальцев А.П.

    Преподаватель




    Гречухин М.Н.

    Санкт-Петербург

    2023

    Цель работы:
    Знакомство с правилами построения экранной формы.
    Задача:

    Экранная форма предназначена для отображения списка туров, она может менять свой размер на экране. Форма должна реализовывать следующие функции: создание списка туров, загрузку списка туров из файла, сохранение списка туров в файле, добавление тура в список, переход к карточке для редактирования данных о туре, удаление тура из списка, поиск тура по отелю или города, вывод списка туров на печать.
    Описание проверки работоспособности приложения и экранные

    формы, которые отображаются при запуске контрольного примера:

    Инструментальная панель JToolBar размещена менеджером граничного размещения BorderLayout .NORTH. Она состоит из кнопок JButon ( “Создать новый список туров’, "Сохранить список туров", "Открыть список туров", "Добавить тур", "Редактировать", "Удалить тур" и "Печать списка туров").Выпадающий список JComboBox, текстовое поле JTextField и кнопка “Поиск” помещаются на панель класса JPanel, на которой добавляемые компоненты размещаются по центру панели. Расположение самой панели в окне пользовательского интерфейса определяет метод add с параметром BorderLayout.SOUTH, задавая тем самым размещение панели внизу окна. Таблица JTable состоит из пяти столбцов("Город","Отель","День отлета","День прилета",”Стоимость”) . Таблица находится в центре (на всем свободном месте) экранной формы.



    Рисунок 1 Интерфейс приложения


    Рисунок 2 Javadoc для класса интерфейса



    Рисунок 3 Javadoc поля класса интерфейса

    Текст программы:

    package main.java.touroperator;

    //Подключение графических библиотек

    import java.awt.BorderLayout;

    import javax.swing.*;

    import javax.swing.table.DefaultTableModel;

    import java.awt.event.*;
    /**

    * ПК для туроператора

    * @author Артем Мальцев

    * @version 1.0

    */

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

    }
    /**

    * Создание и отображение экранной формы

    *

    * @param args строковые параметры, передаваемые программе

    */

    public static void main(String[] args) {

    new Gui().show();

    }
    }


    написать администратору сайта