📄 polygon.java
字号:
/* * PolyGon.java * * Created on April 29, 2005, 6:43 PM */package hysun.draw;import java.awt.*;import java.awt.event.MouseEvent;/** * * @author hysun */public class PolyGon implements IShape { private Color color; private Stroke stroke; private PointsSet pointsSet; private boolean finalized; private int currX, currY; public PolyGon(Color c, Stroke s, int x, int y) { pointsSet = new PointsSet(); color = c; stroke = s; pointsSet.addPoint(x, y); currX = x; currY = y; finalized = false; } public void processCursorEvent(MouseEvent e, int t) { currX = e.getX(); currY = e.getY(); if (t == IShape.RIGHT_PRESSED) { pointsSet.addPoint(currX, currY); } else if (t == IShape.LEFT_RELEASED) { finalized = true; pointsSet.addPoint(currX, currY); } } public void draw(Graphics2D g) { g.setColor(color); g.setStroke(stroke); if (finalized) { //draw a close polygon int[][] points = pointsSet.getPoints(); int s = points[0].length; if (s == 1) { int x = points[0][0]; int y = points[1][0]; g.drawLine(x, y, x, y); } else { g.drawPolygon(points[0], points[1], s); } } else { //don't draw a closed polygon int[][] points = pointsSet.getPoints(currX, currY); g.drawPolyline(points[0], points[1], points[0].length); } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -