Лабораторная работа 10
ГРАФИЧЕСКИЙ ИНТЕРФЕЙС
Цель лабораторной работы
Освоить работу с графическими окнами с использованием средств Java.
Задание
Написать программу, выводящую в графическое окно 3 фигуры. Цвет и тип для каждой фигуры должны быть разными. Координаты фигур могут быть произвольными в пределах размера окна.
Указания к выполнению лабораторной работы
Для работы с графическим интерфейсом в Java предназначены две библиотеки: AWT и Swing. Чтобы использовать классы этих библиотек, необходимо импортировать пакеты java.awt и javax.swing. Для этого в начале текста программы нужно написать:
import java.awt.*; import javax.swing.*;
Графическое окно реализовано в Java с помощью класса JFrame. Для того, чтобы отобразить окно на экране, необходимо создать в потоке, отвечающим за пользовательский интерфейс экземпляр класса JFrame и вызвать у него метод setVisible(true). Это можно сделать при помощи приведенного ниже кода:
EventQueue.invokeLater(new Runnable() { public void run() {
new JFrame().setVisible(true);
}
});
Однако более удобно создать собственный класс, являющийся наследником класса JFrame. В этом случае все параметры окна можно настроить в конструкторе класса:
import java.awt.*; import javax.swing.*;
public class Drawing extends JFrame { public Drawing() {
super(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//установка размеров окна setSize(300, 250);
//установка заголовка окна setTitle("Example");
}
public static void main(String[] args) { EventQueue.invokeLater(new Runnable() {
public void run() {
new Drawing().setVisible(true);
}
});
}
}
Для рисования на поверхности окна можно создать, собственный класс, являющийся наследником класса JPanel и переопределить у него метод paintComponent:
public class DrawingPanel extends JPanel { protected void paintComponent(Graphics g) {
super.paintComponent(g);
// здесь происходит рисование g.setColor(new Color(23, 124, 76)); g.fillRect(90, 40, 100, 145);
}
}
Метод paintComponent принимает экземпляр класса Graphics, позволяющий рисовать на поверхности компонента. Некоторые методы класса Graphics:
setColor – устанавливает цвет пера.
drawRect – обводит прямоугольник с заданными координатами.
fillRect – заполняет цветом прямоугольник с заданными координатами.
drawOval – обводит эллипс с заданными координатами.
fillOval - заполняет цветом эллипс с заданными координатами. После того, как класс для панели рисования написан, ее нужно добавить
на окно. Это можно сделать, написав в конструкторе класса окна Drawing следующую строчку:
add(new DrawingPanel());
Результат выполнения лабораторной работы
В результате выполнения лабораторной работы должны быть написаны следующие классы:
Класс окна, потомок JFrame.
Класс панели для графического вывода, потомок JPanel.