
- •Основы программирования на языке java в среде eclipse
- •Ответственный за выпуск: в.И. Павловський, зав. Кафедрою информационных и компьютерных систем, канд. Техн. Наук, доцент.
- •2.1 Задание на лабораторную работу 19
- •7.3 Порядок выполнения работы 103
- •7.4 Содержимое отчета 103
- •7.5 Контрольные вопросы 104
- •Введение
- •1Лабораторная работа №1 Изучение среды разработки Eclipse
- •1.1 Задание на лабораторную работу
- •1.2 Краткие теоретические сведения
- •1.2.1Создание проекта
- •1.2.2Создание нового класса Java
- •1.3 Порядок выполнения работы
- •1.4 Содержимое отчета
- •Краткие теоретические сведения.
- •1.5 Контрольные вопросы
- •2Лабораторная работа №2 Основы языка Java
- •2.1 Задание на лабораторную работу
- •2.2 Краткие теоретические сведения
- •2.2.1Создание объектов
- •2.2.2Примитивные типы
- •2.2.3Числа высокой точности
- •2.2.4Уничтожение объектов
- •2.2.5Видимость имен
- •2.2.6Использование других компонентов
- •2.2.7Ключевое слово static
- •2.2.8Массивы
- •2.2.9Обработка ошибок с помощью исключений
- •2.3 Порядок выполнения работы
- •2.4 Содержимое отчета
- •2.5 Контрольные вопросы и задания
- •3Лабораторная работа №3 Объектная модель языка Java
- •3.1 Задание на лабораторную работу
- •3.2 Краткие теоретические сведения
- •3.3 Порядок выполнения работы
- •Краткие теоретические сведения.
- •4.2 Краткие теоретические сведения
- •4.2.1Классы дерева и узла
- •4.2.2Вопросы сокрытия реализации
- •4.2.3Пользовательский интерфейс
- •4.3 Порядок выполнения работы
- •4.4 Содержимое отчета
- •Краткие теоретические сведения.
- •4.5 Контрольные вопросы
- •5Лабораторная работа №5 Изучение основ объектно-ориентированного программирования на языке Java. Часть 2
- •5.1 Задание на лабораторную работу
- •5.2 Краткие теоретические сведения
- •5.2.1Классы деревьев и интерфейсы
- •5.2.2Рекурсивный проход по деревьям разных классов
- •5.2.3Расширение ранее созданных классов специфическими операциями пользователей
- •5.2.4Вопросы оптимизации кода
- •5.3 Порядок выполнения работы
- •5.4 Содержимое отчета
- •Краткие теоретические сведения.
- •5.5 Контрольные вопросы
- •6Лабораторная работа №6 Изучение коллекций Java и системы ввода-вывода
- •6.1 Задание на лабораторную работу
- •6.2 Краткие теоретические сведения
- •6.2.1Представление и реализация дерева на основе коллекций
- •В описании узла дерева необходимо создать и инициализировать объект класса список или набор сыновей, например
- •Количество сыновей узла дерева определяется следующим образом:
- •Элементу набора с индексом I выполняется путем получения массива из набора
- •6.2.2Представление и реализация дерева на основе ассоциативных массивов (карт отображений)
- •В описании узла дерева необходимо создать и инициализировать объект ассоциативный массив сыновей, например
- •Количество сыновей узла дерева определяется следующим образом:
- •6.2.3Доступ к коллекции или ассоциативному массиву через итератор
- •6.2.4Использование обобщений Java 5
- •В описании узла дерева необходимо создать и инициализировать коллекцию настраиваемый список, например
- •6.2.5Сериализация и десериализация дерева в файл
- •6.2.6Ввод и вывод в потоки со сжатием данных
- •6.3 Порядок выполнения работы
- •Краткие теоретические сведения.
- •7.2 Краткие теоретические сведения
- •7.2.1Многопоточность
- •7.2.2Процессы, потоки и приоритеты
- •7.2.3Приоритеты потоков в приложениях Java
- •7.2.4Реализация многопоточности в Java
- •7.2.5Функциональность класса Thread
- •7.2.6Реализация интерфейса Runnable
- •7.2.7Синхронизация потоков
- •7.2.8Синхронизация методов
- •7.2.9Блокировка потока
- •7.2.10Синхронизация доступа к совместно используемым данным.
- •7.2.11Избыточная синхронизация
- •7.2.12Вызов метода wait
- •7.2.13Документирование уровней безопасности
- •7.2.14Работа с графикой Графика 2d
- •Пространства координат
- •Режим рисования
- •Создание цвета
- •Основные методы рисования
- •Рисование фигур средствами Java2d
- •Класс BasicStroke
- •Класс GeneralPath
- •Классы GradientPaint и TexturePaint
- •7.3 Порядок выполнения работы
- •7.4 Содержимое отчета
- •Краткие теоретические сведения;
- •7.5 Контрольные вопросы
- •Многопоточность;
- •Рекомендованная литература
1.2.1Создание проекта
Для начала определим условие задачи, которую будем решать.
Задача: Создать приложение, которое выводит на экран окно с двумя компонентами – текстовым полем ввода и кнопкой. При нажатии на кнопку в поле ввода выводятся текущая дата и время.
Для решения поставленной задачи необходимо создать новый проект. Быстро создать проект в визуальном редакторе можно с помощью мастера создания проектов Java. Для этого необходимо выполнить следующие действия:
В меню выполните File->New->Project... Java->Java Project. Откроется мастер создания проекта. Рисунок 1.1.
Введите имя проекта jtap.
В разделе Contents (Содержимое) выберите Create new project in workspace (Создать новый проект в рабочей области).
В Project layout (Структура проекта) выберите Create separate source and output folders (Создать отдельные папки для исходного кода и вывода) и сконфигурируйте имена каталогов.
Нажмите Configure default...
Рисунок 1.1 – Окно мастера создание проекта Java
Рисунок 1.2 – Окно настроек путей компиляции проекта
В окне свойств проекта введите имя каталога (Output folder name) и нажмите ОК.
Нажмите Finish (Готово).
Рисунок 1.3 – Окно мастера создание проекта Java(продолжение)
Проект создан. В окне Структура пакетов появится имя проекта.
Рисунок 1.4 – Окно структура пакета
1.2.2Создание нового класса Java
Теперь в проекте необходимо создать один или несколько классов. Для создания нового класса можно воспользоваться мастером создания классов.
С помощью главного меню выберите File->New->Other.... Этот же результат можно получить с помощью контекстного меню в окне Структура пакета, выбрав пункт "New".
Рисунок 1.5 – Окно выбора типа класса
Теперь можно выбрать один из возможных классов, например, обычный, визуальный, интерфейс, перечисление. После этого откроется окно мастера создания соответствующего класса. Для своего приложения создадим основной визуальный класс. Окно мастера показано на рисунке 1.6.
В поле имени пакета введем stu.jtap.labs (имя пакета образовано из сокращений Университет – Java технологии... – Лабораторные работы, необходимость и правила именования пакетов в данной работе не рассматриваются)
В поле имени класса введем Lab1Tester. Поскольку мы создаем приложение с графическим интерфейсом, то необходимо выбрать стиль Swing->Application. Т.к. создаваемый класс является первым запускаемым классом, то необходимо выбрать следующие модификаторы класса:
public - класс полностью доступен для всех других классов (по умолчанию);
public static void main(String[] args) – задает точку входа, т.е. генерирует метод main() для запуска класса как приложения Java.
Р
исунок
1.6 – Окно создания класса Java
Нажмите Finish.
После выполнения работы мастером, откроется редактор с визуальным представлением созданного класса. Кроме визуального представления, по умолчанию будет открыт и исходный код редактируемого класса, для удобства его можно скрыть. По умолчанию сформированный класс public Class Lab1Tester будет содержать свойства следующих типов JPanel, JMenuBar, JMenu. Внешний вид окна визуального редактора приведен на рисунке 1.7.
Р
исунок
1.7 – Основное окно визуального редактора
На следующем этапе необходимо добавить два компонента - текстовое поле ввода и кнопку. Самый простой способ это перетащить мышкой необходимые компоненты из “панели компонент” на панель визуального представления
Рисунок 1.8 – Панель с наборами графических компонент
Как будет выглядеть окно визуального отображения, после перетаскивания на него компонент, показано на рисунке 1.9.
Рисунок 1.9 – Окно визуального отображения и исходного текста
Дальше необходимо изменить свойства объекта jButton. Визуальный редактор на панели Properties показывает все ‘видимые’ свойства выбранного компонента. В этом окне поменяем свойство text объекта jButton, введем текст ‘Press me’. Этот текст появится на кнопке в окне визуального отображения.
Рисунок 1.10 – Окно свойств графических компонент.
Дальше необходимо установить реакцию объекта на действие пользователя. Действие (Action), которое мы будем рассматривать детально, это нажатие на кнопку. При нажатии на кнопку (actionPerformed) возникает соответствующее событие (Event)., которое должно обрабатываться объектом. Для этого необходимо к объекту добавить ‘слушателя событий’ (метод addActionListener). Это легко сделать, используя контекстное меню визуального редактора, нажав правую кнопку мыши на объекте jButton, необходимо выбрать из контекстного меню Event->Add
Рисунок 1.11 – Окно добавления событий свойств графических компонент.
Мастером будет сгенерирован метод обработчика событий, показанный на рисунке 1.12.
Рисунок 1.12 – Текст обработчика события - нажатие на кнопку.
Автоматически сгенерированный метод
System.out.println("actionPerformed()") |
//TODO Autogenerated Event stub actionPerformed() |
необходимо заменить следующим кодом:
getJTextField().setText("Now "+new Date()) |
Все необходимые изменения кода произведены. Можно компилировать и запускать программу на выполнение. Для этого необходимо в главном меню выбрать Run As->Java Application или Debug - для отладки приложения.