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

📄 shapemap.java

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

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import org.goshawk.workflow.GUI.ShapeShell.ShapeShell;

public class ShapeMap
{
	private Map shapeMap = new HashMap();
	
	/**剪切板**/
	private Map cutBoard = new HashMap(); 

	private boolean canMoved = true;
	
	private boolean isMultiSelected = false;
	
	private boolean isSelected = false;
	
	private ShapeMapExecutor executor = new ShapeMapExecutor(this);
	
	public Map getMap()
	{
		return shapeMap;
	}

	public void setMap(Map shapeMap)
	{
		this.shapeMap = shapeMap;
	}
	
	/**设置是否有图形被选中了**/
	public void setSelected(boolean isSelected)
	{
		this.isSelected = isSelected;
	}
	
	/**是否有图形被选中了**/
	public boolean isSelected()
	{
		return isSelected;
	}
	
	/**设置是否有多个图形被选中了**/
	public void setMultiSelected(boolean isMultiSelected)
	{
		this.isMultiSelected = isMultiSelected;
	}
	
	/**是否有多个图形被选中了**/
	public boolean isMultiSelected()
	{
		return isMultiSelected;
	}
	
	/**设置ShapeMap中的图形是否可以移动**/
	public void setCanMoved(boolean canMoved)
	{
		this.canMoved = canMoved;
	}
	
	/**ShapeMap中的图形是否可以移动**/
	public boolean isCanMoved()
	{
		return canMoved;
	}
	
	public void put(Object key,Object value)
	{
		shapeMap.put(key,value);
		executor.refresh();
	}
	
	public Object get(Object key)
	{
		return shapeMap.get(key);
	}
	
	public Collection values()
	{
		return shapeMap.values();
	}
	
	public void putAll(Map map)
	{
		shapeMap.putAll(map);
		executor.refresh();
	}
	
	public Object remove(Object key)
	{
		Object object = shapeMap.remove(key);
		executor.refresh();
		return object;
		
	}
	/**判断鼠标是否在一个图形内,如果在则选中该图形**/
	public void selectCheckWithMouse(int mousex,int mousey)
	{
		this.executor.selectCheckWithMouse(mousex,mousey);
	}
	
	/**判断图形是否在选择框内,如果在则选中该图形**/
	public void selectCheckWithCutRect(int x,int y,int endx,int endy)
	{
		this.executor.selectCheckWithCutRect(x,y,endx,endy);
	}
	
	/**
	 * 判断鼠标是否在某个图形上
	 * forSelected :ture只判断被选择图形;false:判断所有图形
	 *  **/
	public boolean isMouseInShapes(int mousex,int mousey,boolean forSelected)
	{
		return this.executor.isMouseInShapes(mousex,mousey,forSelected);
	}
	
	/**移动图形**/
	public void moveShape(int movex,int movey)
	{
		this.executor.moveShape(movex,movey);
	}
	
	/**用鼠标获取图形
	 *  forSelected :ture只返回被选择图形;false:返回所有图形**/
	public ShapeShell getShapeWithMouse(int mousex,int mousey,boolean forSelected)
	{
		return this.executor.getShapeWithMouse(mousex,mousey,forSelected);
	}

	/**获取剪切板**/
	public Map getCutBoard()
	{
		return cutBoard;
	}

	/**设置剪切板**/
	public void setCutBoard(Map cutBoard)
	{
		this.cutBoard = cutBoard;
	}
	
	public void clear()
	{
		shapeMap.clear();
	}
}

⌨️ 快捷键说明

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