⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectmousecommand.java

📁 一个可视化编辑器的基础结构
💻 JAVA
字号:
package org.goshawk.workflow.GUI.MouseCommand;

import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.MouseEvent;

import org.goshawk.workflow.GUI.Display.EditorCanvas;
import org.goshawk.workflow.GUI.Display.EditorFrame;
import org.goshawk.workflow.GUI.Display.ShapeMap;
import org.goshawk.workflow.GUI.ShapeShell.RectangleShell;
import org.goshawk.workflow.GUI.Utils.ShapeUtil;

public class SelectMouseCommand implements MouseCommand
{
	private Point beginPoint = new Point();
	private Point endPoint = new Point();
	private boolean isButton1 = false;
	
	private EditorCanvas canvas = null;
	private ShapeMap shapeMap = null;
	
	public SelectMouseCommand()
	{
		this.canvas = EditorFrame.getCanvas();
		shapeMap = canvas.getShapeMap();
	}
	
	public SelectMouseCommand(EditorCanvas canvas)
	{
		this.canvas = canvas;
	}
	
	public void mouseReleased(MouseEvent event)
	{
		RectangleShell rectArea = (RectangleShell)canvas.getShapeMap().get(MouseCommand.RECT_AREA);
		if(rectArea!=null)
		{
			int x = rectArea.getX();
			int y = rectArea.getY();
			int endx = rectArea.getWidth()+x;
			int endy = rectArea.getHeight()+y;
			canvas.getShapeMap().selectCheckWithCutRect(x,y,endx,endy);
		}
		canvas.addShapeShell(MouseCommand.RECT_AREA,null);
		canvas.repaint();
		isButton1 = false;
	}
	public void mouseDragged(MouseEvent event)
	{
		if(isButton1)
		{
			endPoint = event.getPoint();
			int width = endPoint.x - beginPoint.x;
			int height = endPoint.y - beginPoint.y;
			int x = beginPoint.x;
			int y = beginPoint.y;
			Rectangle rect = ShapeUtil.createRectangle(x, y, width, height);
			RectangleShell rectShell = new RectangleShell(rect);
			rectShell.setSelectable(false);
			canvas.addShapeShell(MouseCommand.RECT_AREA,rectShell);
			RectangleShell rectArea = (RectangleShell)canvas.getShapeMap().get(MouseCommand.RECT_AREA);
			if(rectArea!=null)
			{
				x = rectArea.getX();
				y = rectArea.getY();
				int endx = rectArea.getWidth()+x;
				int endy = rectArea.getHeight()+y;
				canvas.getShapeMap().selectCheckWithCutRect(x,y,endx,endy);
			}
			canvas.repaint();
		}
	}
	
	public void mousePressed(MouseEvent event)
	{
		if (event.getButton() == MouseEvent.BUTTON1)
		{
			beginPoint = event.getPoint();
			isButton1 = true;
			shapeMap.selectCheckWithMouse(beginPoint.x,beginPoint.y);
			canvas.repaint();
			canvas.removeComponent();
		}
	}
	
	public boolean process(MouseEvent event)
	{
		return false;
	}
	
	public void setCanvas(EditorCanvas canvas)
	{
		this.canvas = canvas;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -