📄 eraser.java
字号:
/* * Eraser.java * * Created on April 29, 2005, 6:39 PM */package flow.graph.gui.graph.item.unit;import java.awt.*;import javax.swing.JComponent;/** * * @author hysun */public class Eraser extends FreeShape { private JComponent board; public Eraser(JComponent board, Stroke s, int x, int y) { super(null, s, x, y); this.board = board; } public Eraser(JComponent board) { this.board = board; } public void draw(Graphics2D g) { g.setColor(board.getBackground()); g.setStroke(stroke); int[][] points = pointsSet.getPoints(); if (points == null) return; 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.drawPolyline(points[0], points[1], s); } } public String getShapeData() { int si = 0; for (int i=0; i<DrawingBoard.ERASER_STROKES.length; i++) { if (stroke == DrawingBoard.ERASER_STROKES[i]) { si = i; break; } } StringBuffer buffer = new StringBuffer(); buffer.append(si); int[][] ps = pointsSet.getPoints(); for (int i=0; i<ps[0].length; i++) { buffer.append(":"); buffer.append(ps[0][i]); buffer.append(":"); buffer.append(ps[1][i]); } return buffer.toString(); } public void setShapeData(String data) throws Exception { String splits[] = data.split(":"); stroke = DrawingBoard.ERASER_STROKES[Integer.parseInt(splits[0])]; for (int i=1; i<splits.length; i+=2) { pointsSet.addPoint(Integer.parseInt(splits[i]), Integer.parseInt(splits[i+1])); } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -