Использование циклов и управляющих операторов для рисования линий может привести ко многим интересным картинкам. Создайте картинку как на рисунке. Эта картинка рисует линии от верхнего левого угла, раздувая их, пока они не будут покрывать верхнюю левую половину панели. Один подход заключается в разделении ширины и высоты на равное количество шагов (15 шагов работают хорошо). Первая конечная точка линии всегда будет в верхнем левом углу (0, 0). Вторая конечная точка может быть найдена начиная с нижнего левого угла и продвигаясь вверх на один вертикальный шаг и вправо на один горизонтальной шаг. Нарисуйте линию между двумя конечными точками. Продолжайте двигаться вверх и направо на один шаг, чтобы найти каждую последующую конечную точку. Фигура должна масштабироваться в соответствии с изменениями размеров окна.
Класс DrawPanel
package chapter4; import java.awt.Graphics; import javax.swing.JPanel; public class DrawPanel extends JPanel { @Override protected void paintComponent(Graphics g) { super.paintComponent(g); int width = getWidth(); int height = getHeight(); int wStep = (int) (width / 15); int hStep = (int) (height / 15); for (int i = 0; i < 15; i++) { g.drawLine(0, 0, wStep * i, height - hStep * i); } } }
Класс DrawPanelTest
package chapter4; import javax.swing.JFrame; public class DrawPanelTest { public static void main(String[] args) { JFrame frame = new JFrame(); DrawPanel panel = new DrawPanel(); frame.add(panel); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(250, 250); frame.setVisible(true); } }
Комментариев нет:
Отправить комментарий