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

  • Объектно-ориентированное программирование на языке Java

  • Лабораторная работа № 1. Знакомство со средой разработки Java-приложений Цель работы

  • 1.1. Установка и первый запуск Eclipse

  • Package explorer

  • Outline

  • Javadoc

  • Console

  • 1.3. Ввод текста программы

  • 1.4. Запуск и отладка программы

  • Debug

  • 1.5. Порядок выполнения лабораторной работы

  • Лабораторная работа № 2. Разработка интерфейса пользователя Цель работы: знакомство с правилами построения экранной формы.2.1. Описание процесса разработки интерфейса

  • БЖД методичка. Метод указания лаб - последняя редакция (1). Методические указания к лабораторным работам СанктПетербург Издательство спбгэту лэти 2013


    Скачать 1.15 Mb.
    НазваниеМетодические указания к лабораторным работам СанктПетербург Издательство спбгэту лэти 2013
    АнкорБЖД методичка
    Дата06.09.2021
    Размер1.15 Mb.
    Формат файлаpdf
    Имя файлаМетод указания лаб - последняя редакция (1).pdf
    ТипМетодические указания
    #229976
    страница1 из 6
      1   2   3   4   5   6

    1
    МИНОБРНАУКИ РОССИИ
    –––––––——————————–––––––
    Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»
    ————————————————————
    Объектно-ориентированное программирование на языке Java
    Методические указания к лабораторным работам
    Санкт-Петербург
    Издательство СПбГЭТУ «ЛЭТИ»
    2013

    2
    УДК 681.3.06
    Объектно-ориентированное программирование на языке Java: Методиче- ские указания к лабораторным работам / Сост.: С. А. Беляев, М. Г. Павловский,
    Г. В. Разумовский; Под общ. ред. Г. В. Разумовского. СПб.: Изд-во СПбГЭТУ
    «ЛЭТИ», 2013. 63 с.
    Содержат описания лабораторных работ по дисциплине «Объектно- ориентированное программирование на языке Java» по следующим темам: знакомство со средой разработки Java-приложений, разработка интерфейса пользователя, обработка событий, обработка исключений, сохранение и за- грузка данных из файла, обработка XML-файлов, построение отчетов в PDF- и HTML- форматах, организация многопоточных приложений, модульное тестирование и протоколирование приложения.
    Предназначены для студентов бакалавриата по направлению
    № 230100.62 – «Информатика и вычислительная техника».
    Утверждено редакционно-издательским советом университета в качестве методических указаний

    СПбГЭТУ «ЛЭТИ», 2013

    3
    Лабораторная работа № 1. Знакомство со средой разработки
    Java-приложений
    Цель работы: освоение среды разработки Eclipse, программирование, запуск и отладка консольного приложения.
    1.1. Установка и первый запуск Eclipse
    Eclipse представляет собой интегрированную среду разработки Java- приложений. Для установки Eclipse в операционной системе Microsoft Win- dows необходимо:
    1. Проверить наличие на компьютере платформы для разработки Java- программ (Java Development Kit

    JDK). Она, как правило, размещается в каталоге С:\Program Files\Java. Если такой платформы нет или имеется платформа ниже 6-й версии, то с официального сайта разработчика Java http://java.sun.com необходимо с учетом операционной системы пользователя и разрядности компьютера скачать и установить JDK-платформу Java SE
    Development Kit 6 или 7.
    2. На сайте http://www.eclipse.org необходимо в разделе Downloads скачать архив Eclipse IDE for Java EE Developers, а затем распаковать его в каталог C:\eclipse.
    3. Запустить в каталоге C:\eclipse файл eclipse.exe, обозначенный иконкой еclipse.
    При первом запуске IDE Eclipse отобразится диалоговое окно выбора рабочей папки (workspace), в которой будут впоследствии храниться файлы пользовательских проектов Java. Рекомендуется такую папку создать в ката- логе C:\eclipse. После запуска Eclipse появится окно, в котором будет содер- жаться строка меню, панель инструментов с кнопками быстрого доступа и ряд областей пользовательского интерфейса:
    1. Package explorer – область отображения структуры каталогов и файлов, входящих в проект.
    2. Область ввода и редактирования текста программы.
    3. Task List – область планирования задач разработки.
    4. Outline – область отображения структуры пакета.
    5. Область вывода информации с вкладками:
    5.1. Problems – область ошибок при компиляции, а также во время написания программы.
    5.2. Javadoc – область комментариев к выбранным объектам.

    4 5.3. Declaration – область отображения части кода, в котором про- исходит декларация выбранного объекта.
    5.4. Console – область вывода данных программы.
    1.2. Создание проекта
    Первым шагом разработки Java-приложения является создание проекта.
    Проект Java представляет собой каталог, размещающийся в рабочей папке workspace и содержащий исходные и исполняемые классы, файлы описания проекта. Имя такого каталога соответствует имени проекта. Для создания проекта необходимо выбрать пункт меню File-New-Project и в открывшемся диалоговом окне в строке Project name задать имя проекта. В левой области
    (Package explorer) будет отображаться структура текущего проекта. Реко- мендуется для каждой лабораторной работы открыть свой проект.
    Вторым шагом является создание класса, который будет ассоцииро- ваться с разрабатываемым Java-приложением. Для создания такого класса на панели инструментов на кнопке нажать черный треугольник и в рас- крывшемся списке выбрать опцию Class. Появится диалоговое окно создания нового класса, где в поле Name надо ввести имя класса без пробелов (напри- мер, Test), а в поле Package – имя пакета (например, edu.java.lab1). Пакет определяет пространство имен, в котором будут храниться имена классов, и представляет собой иерархию папок, где будут содержаться описываемые классы. Рекомендуется для каждой лабораторной работы сформировать свой пакет. После нажатия кнопки «Finish» в области ввода и редактирования про- граммы появится заголовок приложения: package edu.java.lab1; public class Test {
    }
    1.3. Ввод текста программы
    Всякая программа, оформленная как приложение (application), должна содержать метод с именем main. Метод main() записывается как обычный ме- тод, он может содержать любые описания и действия, но обязательно должен быть открытым (public), статическим (static), не иметь возвращаемого значе- ния (void). Его аргументом обязательно должен быть массив строк (string[]).
    По традиции этот массив называют args, хотя имя может быть любым. При вызове интерпретатора java можно передать в метод main() несколько пара-

    5 метров, которые интерпретатор заносит в массив строк. Эти параметры пере- числяются в строке вызова java через пробел сразу после имени класса. Если же параметр содержит пробелы, надо заключить его в кавычки. Кавычки не будут включены в параметр, это только ограничители.
    Ниже приведено описание метода main, который выводит строку "Мы начинаем программировать на Java!" и значения переменной цикла.
    // Выполняться приложение Java начинает с метода main public static void main(String[] args) {
    System.out.println("Мы начинаем программировать на Java!"); for (int i=0;i<10;i++){System.out.print("Шаг "+i+"\n");
    } // окончание метода main
    В это описание включены 2 комментария, которые начинаются с сим- волов //.
    Java имеет 3 типа комментариев. Первые 2 типа оформляются как //... и
    /*...*/. Третий тип называется комментарием документации. Такой коммента- рий начинается с последовательности символов /** и заканчивается последо- вательностью */. Комментарии документации позволяют добавлять в про- грамму информацию о ней самой. С помощью утилиты javadoc эту инфор- мацию можно извлекать и помещать в НТМL-файл. Утилита javadoc позво- ляет вставлять HTML-теги и использовать специальные ярлыки (дескрипто- ры) документирования. Комментарии документации применяют для доку- ментирования классов, интерфейсов, полей (переменных), конструкторов и методов. В каждом случае комментарий должен находиться перед докумен- тируемым элементом. После начальной комбинации символов /** располага- ется текст, являющийся главным описанием класса, переменной или метода.
    Далее можно вставлять различные дескрипторы. Каждый дескриптор, начи- нающийся со знака @, должен стоять первым в строке. Несколько дескрип- торов одного и того же типа необходимо группировать вместе. Встроенные дескрипторы (начинаются с фигурной скобки) можно помещать внутри лю- бого описания. Основными дескрипторами являются:

    Для документирования переменной:
    {@value } отображает значение следующей за ним статической кон-
    станты.

    Для классов и интерфейсов:
    @author имя автора описания, @param имя параметра-типа с пояс-
    нениями, @version номер версии описания.

    6

    Для методов:
    @return описание возвращаемого значения метода, @param имя па-
    раметра метода с пояснениями, @throws имя исключения с пояснениями, которое может генерировать метод,{@inheritDoc} отображает описание та-
    кого же метода, определенного в суперклассе.
    Среда разработки Eclipse позволяет создавать шаблоны комментариев документации. Для этого надо установить курсор на место вставки коммен- тариев документации и нажать комбинацию клавиш Alt+Shift+J. Вид тесто- вой программы с комментариями после ее ввода в среду Eclipse представлен на рис. 1.1.
    Рис. 1.1. Конфигурация рабочих областей в режиме просмотра комментариев
    Для сохранения проекта программы необходимо нажать кнопку «Save» на панели инструментов.
    // Java-приложение начинает выполняться с метода main

    7
    В среде Eclipse генерировать документацию можно используя команду меню Project/Generate Javadoc. После выполнения этой команды в каталоге проекта будет создана папка doc, куда будут помещены HTML-файлы, доку- ментирующие программу. Просмотреть текст документации можно в нижней рабочей области Eclipse, активизировав вкладку @ Javadoc. В этой области появляется информация после того, как курсор будет установлен на текст комментария программы.
    1.4. Запуск и отладка программы
    Для запуска созданного приложения необходимо нажать кнопку Run на панели инструментов. Если это консольное приложение, то в области пред- ставления Console будут отображаться данные, выводимые на экран.
    Отладка – это процесс пошаговой проверки программы с целью выяв- ления ошибок. Процесс отладки характеризуется тем, что программа оста- навливается каждый раз в точках останова (breakpoint) и анализируются зна- чения переменных на этот момент времени.
    Для того чтобы поставить точку останова, нужно в редакторе кода два- жды щелкнуть мышью слева напротив нужной строки, где планируется оста- новка программы. Маркеры точек прерывания представляют собой неболь- шие стрелки. Для примера установите точку останова напротив строки Sys- tem.out.print("Шаг "+i+"\n");.
    После установки точки останова выберите в меню команду Run/Debug или нажмите клавишу F11. На экране появится информационное окно, пред- лагающее переключить конфигурацию рабочих областей в режим Debug
    (рис. 1.2).
    В режиме Debug можно выделить следующие основные области:
    1. Окно Debug, в котором отображается перечень классов с указанием точек останова.
    2. Областьпросмотра значений переменных с вкладками Variables,
    Breakpoints и Expressions.
    В первой вкладке размещается список переменных, которые находятся в области видимости для текущей точки останова. Вторая вкладка содержит полный список заданных точек останова. Точки останова можно отключать и включать в процессе отладки, устанавливая или удаляя маркер напротив нужной точки в редакторе кода. Третья вкладка появляется по команде
    Run/Watch. В ней можно задать произвольные математические выражения и

    8 просмотреть результат их вычисления с использованием значений перемен- ных области видимости в точке останова.
    Рис. 1.2. Конфигурация рабочих областей в режиме Debug
    Продолжить выполнение программы до следующей точки останова можно по команде Run/Resume или нажав клавишу F8. Если значения пере- менных меняются от одной точки останова до другой, то на панели Variables она выделится желтым цветом.
    Для просмотра значений переменных в точке останова в отдельном ок- не необходимо выделить нужный участок кода и выполнить команду меню
    Run/ Inspect.
    Для выхода из режима отладки необходимо закрыть данную конфигу- рацию рабочих областей, выполнив команду меню Window/Close Perspective.
    // Java-приложение начинает выполняться с метода main

    9
    1.5. Порядок выполнения лабораторной работы
    1. Установите на свой компьютер JDK и Eclipse.
    2. Создайте проект.
    3. Создайте приложение, в котором объявите статический массив целых чисел.
    4. В методе main проинициализируйте этот массив и напишите алгоритм его упорядочения по возрастанию (убыванию). После упорядочения выведите элементы массива на консоль.
    5. Добавьте в приложение комментарии документации.
    6. Запустите приложение и проверьте результат его работы.
    7. Используйте режим отладки и проанализируйте с помощью команды
    Run/Watch, как в процессе упорядочения меняются значения элементов массива, а с помощью команды Run/Inspect – значение операции сравнения элементов массива.
    8. Сгенерируйте документацию с помощью Javadoc и просмотрите ее в браузере.
    1.6. Содержание отчета
    Отчет по лабораторной работе должен содержать:
    1. Описание задания на разработку приложения.
    2. Описание проверки работоспособности приложения и экранные формы, которые отображаются при запуске контрольного примера.
    3. Текст документации, сгенерированный Javadoc.
    4. Текст программы.
    Лабораторная работа № 2. Разработка интерфейса пользователя
    Цель работы: знакомство с правилами построения экранной формы.
    2.1. Описание процесса разработки интерфейса
    Графический интерфейс пользователя представляет собой совокуп- ность визуальных средств, с помощью которых пользователь взаимодейству- ет с программой. Графический интерфейс пользователя строится в несколько этапов.
    На первом этапе описывается назначение экранной формы с указанием перечня вводимой и выводимой информации, а также списка функций, дос- тупных пользователю. Например, такое описание может быть представлено в следующем виде:

    10
    Экранная форма предназначена для отображения списка книг библио-
    теки, она может менять свой размер на экране. Форма должна реализовы-
    вать следующие функции: загрузку списка книг из файла, сохранение списка
    книг в файле, добавление книги в список, переход к карточке для редактиро-
    вания данных о книге, удаление книги из списка, поиск книги по названию или
    автору, вывод списка книг на печать.
    На втором этапе по описанию экранной формы проектируется ее макет, где определяются вид графических элементов и их размещение. Проектиро- вание макета экранной формы может выполняться с помощью стандартных средств рисования Word, Visio, Paint или с использованием специализиро- ванных конструкторов, таких, как
    Balsamiq
    Mockups
    (
    http://builds.balsamiq.com/b/mockups-web-demo/
    ), который можно использо- вать бесплатно в режиме web-приложения. Основными графическими эле- ментами для конструирования являются: окна, кнопки, панель, таблица с прокруткой, поля ввода-вывода, выпадающий список. Полный перечень стандартных графических элементов, которые можно использовать в прило- жениях на
    Java, приведен в описании пакетов java.awt
    (http://docs.oracle.com/javase/6/docs/api/java/awt/package-summary.html
    ) и javax.swing
    (http://docs.oracle.com/javase/6/docs/api/javax/swing/package- summary.html
    ).
    Макет экранной формы, спроектированный с помощью конструктора
    Balsamiq Mockups по указанному выше описанию интерфейса пользователя, приведен на рис. 2.1.
    Рис. 2.1. Макет экранной формы

    11
    Этот макет предполагает использование следующих графических эле- ментов и соответствующих им классов объектов: окно с названием формы и стандартными кнопками (JFrame), панель (JToolBar), где размещаются дру- гие графические компоненты, кнопоки с рисунками для вызова заданных функций (JButton и ImageIcon), таблица вывода данных о книге (JTable), про- крутка (JScrollPane), выпадающий список для задания имени автора
    (JComboBox), поле ввода названия книги (JTextField ) и кнопка с надписью для поиска книги (JButton).
    При проектировании кнопок используются схематические рисунки иконок или иконки, которые предоставляет конструктор. Конкретный вид иконок задается в Java-приложении при создании кнопки. Для привязки изо- бражения иконки к кнопке необходимо иметь рисунок иконки в формате jpg, gif, png или bmp. Найти подходящие рисунки можно на ресурсе http://www.iconsearch.ru/
    . Скаченные файлы с рисунками иконок помещают в одну папку, которая должна находиться в корневом каталоге проекта.
    На третьем этапе выполняется описание класса, визуализирующего эк- ранную форму. Скелет такого класса представлен ниже: package edu.java.lab2;
    // Подключение графических библиотек import java.awt.BorderLayout; import javax.swing.*; public class BookList {
    // Объявления графических компонентов private JFrame bookList; private DefaultTableModel model; private JButton save; private JToolBar toolBar; private JScrollPane scroll; private JTable books; private JComboBox author; private JTextField bookName; private JButton filter; public void show() {
    // Создание окна bookList = new JFrame("Список книг"); bookList.setSize(500, 300); bookList.setLocation(100, 100); bookList.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    // Создание кнопок и прикрепление иконок save = new JButton(new ImageIcon("./img/save.png"));

    12
    // Настройка подсказок для кнопок save.setToolTipText("Сохранить список книг");
    // Добавление кнопок на панель инструментов toolBar = new JToolBar("Панель инструментов"); toolBar.add(save);
    // Размещение панели инструментов bookList.setLayout(new BorderLayout()); bookList.add(toolBar, BorderLayout.NORTH);
    // Создание таблицы с данными
    String [] columns = {"Автор", "Книга", "Есть"};
    String [][] data = {{"Александр Дюма", "Три мушкетёра", "Есть"},
    {"Алексей Толстой", "Анна Каренина", "Нет"}}; model= new DefaultTableModel(data, columns); books = new JTable(model); scroll = new JScrollPane(books);
    // Размещение таблицы с данными bookList.add(scroll, BorderLayout.CENTER);
    // Подготовка компонентов поиска author = new JComboBox(new String[]{"Автор", "Александр Дюма",
    "Алексей Толстой"}); bookName = new JTextField("Название книги"); filter = new JButton("Поиск");
    // Добавление компонентов на панель
    JPanel filterPanel = new JPanel(); filterPanel.add(author); filterPanel.add(bookName); filterPanel.add(filter);
    // Размещение панели поиска внизу окна bookList.add(filterPanel, BorderLayout.SOUTH);
    // Визуализация экранной формы bookList.setVisible(true);
    } public static void main(String[] args) {
    // Создание и отображение экранной формы new BookList().show();
    }
    }

    13
    В этом скелете можно выделить следующие элементы:
    1. Операторы
    import.
    Они используются для указания месторасположения библиотечных классов и располагаются после оператора package. В данном примере для подключения графических компонентов используются две библиотеки – java.awt и javax.swing. Из первой библиотеки выбирается класс BorderLayout, отвечающий за размещение (компоновку) графических компонентов. Класс компоновки BorderLayout разбивает контейнер (окно) на 5 областей и располагает добавляемые в контейнер объекты по краям (север, юг, запад, восток) и в центре. Каждая область указывается соответствующей константой: NORTH, SOUTH, EAST, WEST и
    CENTER. Кроме компоновщика BorderLayout можно воспользоваться также компоновщиком FlowLayout. Он размещает компоненты слева направо, сверху вниз. Если по центру есть большая область, которая должна масштабироваться, то лучше использовать компоновщик BorderLayout.
    Вторая библиотека используется для объявления графических компо- нентов. Используемые классы из этой библиотеки в явном виде не перечис- ляются. Звездочка (*) в конце названия библиотеки javax.swing.* означает, что приложению будут доступны все описанные в ней классы.
    2. Описание
    графических
    компонентов.
    Всем графическим компонентам, представленным в макете, присваиваются имена и указывается, к какому библиотечному классу они принадлежат.
    3. Описание метода построения и визуализации экранной формы
    (show). В этом методе сначала создается окно (JFrame) с указанием заголовка, затем определяется его размер, месторасположение на экране и реакция на закрытие окна. При описании реакции на закрытие окна используется константа EXIT_ON_CLOSE – прекращение работы приложения.
    Затем в созданном окне последовательно создаются и размещаются сверху вниз графические элементы интерфейса. Напрямую в окне элементы управления не размещаются. Для этого служат панели, представляющие со- бой прямоугольное пространство.
    Первой создается перемещаемая панель инструментов, где размещают- ся кнопки управления. Для привязки изображений к кнопкам применяется класс ImageIcon с указанием имени файла, где находится картинка. С помо- щью метода setToolTipText к каждой кнопке можно прикрепить подсказку.
    Панель инструментов создает объект класса JToolBar. При его создании можно указать надпись, которая будет появляться на панели, когда она будет

    14 вынесена за окно приложения. С помощью метода add в инструментальную панель добавляются кнопки. Кнопки будут размещаться слева направо в по- рядке их добавления на панель. Размер кнопки определяется высотой панели, которую можно изменять. Стратегию размещения панели в окне задает метод setLayout (new BorderLayout()), а метод add непосредственно осуществляет ее размещение в окне. Константа BorderLayout.NORTH в методе add указывает, что панель должна находиться в верхней части окна.
    Вторым графическим компонентом интерфейса является таблица. Таб- лица JTable позволяет выводить двухмерные данные, записанные в виде строк и столбцов. Настройку таблицы и данные для нее поставляет специ- альная модель, в обязанности которой входит передача таблице всех не- обходимых данных для вывода информации (количество строк и столбцов, названия столбцов, элемент, находящийся в определенном месте таблицы, тип данных, хранящийся в столбце, признак доступности для редактиро- вания некоторого элемента). Стандартная модель DefaultTableModel, опре- деленная в пакете javax.swing.table, позволяет задать название столбцов таблицы в виде массива строковых констант, а также значения ячеек табли- цы в виде двухмерного массива строковых констант. Массив с данными в каждой строке должен содержать такое же количество элементов, как и мас- сив с заголовками. Таблица строится с помощью класса JTable, в который пе- редается ранее описанная модель. В стандартной модели размеры столбцов одинаковы. С помощью методов класса JTable можно управлять расстояни- ем между ячейками, высотой строк таблицы, а также цветом и стилем сетки таблицы. Двойной клик в ячейку таблицы позволяет перейти в режим редак- тирования, по окончании которого необходимо нажать клавишу Enter. Объ- ект Scrolling (прокрутка) создается и связывается с таблицей при помощи класса JScrollPane. Для размещения таблицы в центре окна используется ме- тод add с параметром CENTER.
    Последним графическим компонентом пользовательского интерфейса является панель, на которой размещаются элементы, связанные с поиском книг по автору и названию. Для задания имени автора используется выпа- дающий список (класс JComboBox). Он содержит множество вариантов, из которых пользователь может выбрать один и только один. Поле ввода назва- ния книги реализуется через класс JTextField. Если необходимо проинициа- лизировать поле, то при создании компонента указывается выводимое зна- чение (например, «Название книги»). Ширина поля ввода определяется чис-

    15 лом символов, указанных при создании компонента JTextField. Кнопка «По- иск» создается с помощью класса JButton, параметром которого является на- звание кнопки. Длина этого названия будет определять ширину кнопки. Пе- речисленные компоненты помещаются на панель класса JPanel, на которой добавляемые компоненты размещаются по центру панели. Способ размеще- ния компонентов на панели и ее размер можно изменить. Расположение са- мой панели в окне пользовательского интерфейса определяет метод add с параметром BorderLayout.SOUTH, задавая тем самым размещение панели внизу окна.
    Когда окно создается, оно по умолчанию невидимо. Чтобы отобразить окно на экране, вызывается метод setVisible с параметром true. Если вызвать его с параметром false, окно снова станет невидимым.
    4. Создание экранной формы и ее отображение. Объявление объекта, в котором определена экранная форма, и вызов метода ее построения и визуализации осуществляются в методе main. Вид экранной формы для вышеописанного примера представлен на рис. 2.2.
    Рис. 2.2. Экранная форма «Список книг»
    Экранная форма имеет окно с заголовком «Список книг», в ней присут- ствуют таблица вывода данных о книгах, кнопки, при нажатии которых вы- полняются различные действия, и поля для поиска по имени автора или на- званию книги.

    16
      1   2   3   4   5   6


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