Разработка визуальных интерфейсов
Автор: Dobro2512 • Май 5, 2025 • Лабораторная работа • 476 Слов (2 Страниц) • 16 Просмотры
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
БЕЛОГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ
ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ (НИУ «БелГУ»)
ИНСТИТУТ ИНЖЕРЕНЕРНЫХ И ЦИФРОВЫХ ТЕХНОЛОГИЙ
КАФЕДРА ИНФОРМАЦИОННЫХ И РОБОТОТЕХНИЧЕСКИХ СИСТЕМ
Отчет по лабораторной работе №12
Вариант №5
Тема работы «Разработка визуальных интерфейсов»
по дисциплине «Объектно-ориентированное программирование»
студента очного отделения
2 курса группы 12002108
Головкова Игоря Евгеньевича
Проверил:
Резников Н. Г.
Белгород
2022
Цель работы: приобрести практический опыт разработки настольных Java-приложений с графическим интерфейсом.
Общая постановка задачи
1. Изучить методику построения приложений с использованием
графического интерфейса библиотек java.awt и javax.swing.
2. Разработать алгоритм и составить программу для решения задачи
соответствующего варианта.
3. Набрать программу и отладить её работу в среде NetBeans IDE.
4. Подобрать тестовые данные. Протестировать.
5. Оформить отчет по лабораторной работе, включающий:
a. титульный лист;
b. цель работы;
c. постановку задачи для Вашего варианта;
d. текст программы на языке Java;
e. скриншоты результатов выполнения тестовых примеров;
f. ответы на контрольные вопросы.
Вариант задания: 5. Изобразить в окне приложения отрезок, вращающийся в плоскости фрейма вокруг точки, движущейся по отрезку.
Листинг программы:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
public class LabR12 {
public static void main(String[] args) {
Lab12 lab = new Lab12();
lab.setVisible(true);
}
}
class Lab12 extends JFrame {
public Lab12(){
super("Вращение отрезка вокруг точки");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds(0, 0, 425, 400);
ActionListener listener = new MyActionListener();
Timer tm = new Timer(1, listener);
tm.start();
this.add(pan);
}
JPanel pan = new JPanel();
class MyActionListener implements ActionListener {
int i = 0;
@Override
public void actionPerformed(ActionEvent arg0) {
Graphics2D gr = (Graphics2D) pan.getRootPane().getGraphics();
pan.update(gr);
Point2D center = new Point2D.Double(200, 150);
Ellipse2D ell = new Ellipse2D.Double(center.getX()-2.5, center.getY()-2.5, 5, 5);
Line2D lini = new Line2D.Double(center.getX()-30, center.getY(), center.getX()+30, center.getY());
gr.draw(lini);
gr.translate(Math.cos(i++* 0.03)*30, 0); // движение вдоль линии по Х
gr.draw(ell);
gr.rotate(i++* 0.03, center.getX(), center.getY()); // вращение
Line2D lini2 = new Line2D.Double(center.getX()-30, center.getY()+100, center.getX()+30, center.getY()+100);
gr.draw(lini2);
}
}
}
...