shape.java

来自「java画图程序. 能完成大多数的功能.」· Java 代码 · 共 62 行

JAVA
62
字号
/**直线 矩形 圆等类的父类。定义了他们的共同数据和方法
 */
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 + =
减小字号Ctrl + -
显示快捷键?