📄 shape.java
字号:
/**直线 矩形 圆等类的父类。定义了他们的共同数据和方法
*/
package cn.edu.xmu.LHand;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.event.*;
import java.awt.Stroke;
import java.io.Serializable;
import javax.swing.JOptionPane;
public abstract class Shape extends IShape implements Serializable{
protected Color color = null;
protected int startX;
protected int startY;
protected float stroke;
protected int currentX; //用来保存传说中的左上角坐标
protected int currentY; //用来保存传说中的左上角坐标
protected int endX;
protected int endY;
protected Shape(Color color1, float strokes, int x, int y){
currentX = x;
startX = x;
currentY = y;
startY = y;
color = color1;
stroke = strokes;
}
public void mouseDragged(MouseEvent event){
switch( DrawBoard.buttonPressed ){
case 2:
endX = event.getX();
endY = event.getY();
break;
case 3:
case 4:
case 5:
case 6:
endX = Math.abs(event.getX()-startX);
endY = Math.abs(event.getY()-startY);
if(startX > event.getX())
currentX = event.getX();
if(startY > event.getY())
currentY = event.getY();
break;
default:
break;
}
}
public void mousePressed(MouseEvent event){}
public void mouseReleased(MouseEvent event){
mouseDragged(event);
}
public abstract void draw(Graphics2D graph);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -