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

📄 commandfactory.java

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

import java.awt.Point;
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.MouseCommand.MouseCommand;
import org.goshawk.workflow.GUI.Utils.SpringUtil;
import org.springframework.context.ApplicationContext;

public class CommandFactory
{
	private static ApplicationContext context = SpringUtil.getContext();
	
	public static MouseCommand getMouseCommand(String name)
	{
		 return (MouseCommand)context.getBean(name);
	}
	
	public static MouseCommand getMouseCommand(MouseEvent event)
	{
		Point mousePoint = event.getPoint();
		EditorCanvas canvas = EditorFrame.getCanvas();
		ShapeMap shapeMap = canvas.getShapeMap();
		if(event.getButton() == MouseEvent.BUTTON3)
		{
			if(shapeMap.isMouseInShapes(mousePoint.x,mousePoint.y,false))
				return getMouseCommand("RightEditMouseCommand");
			else
				return getMouseCommand("RightKeyMouseCommand");
		}
		else
		{
			if((!shapeMap.isSelected()
					||shapeMap.isMouseInShapes(mousePoint.x,mousePoint.y,false))
					&&!(shapeMap.isMultiSelected()&&shapeMap.isMouseInShapes(mousePoint.x,mousePoint.y,true)))
			{
				if(!event.isControlDown())
					shapeMap.selectCheckWithMouse(mousePoint.x,mousePoint.y);
			}
			canvas.repaint();
			if(event.getClickCount()>1)
			{
				return getMouseCommand("DoubleClickCommand");
			}
			if(event.isControlDown())
			{
				return getMouseCommand("KeyAndMouseCommand");
			}
			else if(!event.isControlDown()&&shapeMap.isSelected()
					&&shapeMap.isMouseInShapes(mousePoint.x,mousePoint.y,true))
			{
				return getMouseCommand("PointClickMouseCommand");
			}
			else if(!event.isControlDown())
			{
				return getMouseCommand("SelectMouseCommand");
			}
			return getMouseCommand("SelectMouseCommand");
		}
	}
}

⌨️ 快捷键说明

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