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

📄 ellipseshell.java

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

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.Shape;
import java.awt.geom.Ellipse2D;
import java.util.Map;

public class EllipseShell extends ShapeShell
{
	private Ellipse2D.Double ellipse = null;
	
	private PopupMenu popupMenu = null;
	
	public EllipseShell()
	{
		popupMenu = new PopupMenu("1");
		MenuItem createNode = new MenuItem("复制");
		popupMenu.add(createNode);
		popupMenu.add(new MenuItem("删除"));
	}
	
	public EllipseShell(int x,int y,int width,int height)
	{
		popupMenu = new PopupMenu("1");
		MenuItem createNode = new MenuItem("复制");
		popupMenu.add(createNode);
		popupMenu.add(new MenuItem("删除"));
		ellipse = new Ellipse2D.Double(x,y,width,height);
	}
	
	public Ellipse2D.Double getEllipse()
	{
		return ellipse;
	}

	public void setEllipse(Ellipse2D.Double ellipse)
	{
		this.ellipse = ellipse;
	}

	public Shape getShape()
	{
		return ellipse;
	}

	public void setShape(Shape shape) throws ShapeShellException
	{
		if(shape==null)
		{
			this.ellipse = null;
			return ;
		}
		if(!(shape instanceof Ellipse2D.Double))
			throw new ShapeShellException("输入参数类型必须是java.awt.geom.Ellipse2D");
		this.ellipse = (Ellipse2D.Double)shape;
		
	}

	public int getHeight()
	{
		return (int)ellipse.getHeight();
	}

	public void setHeight(int height)
	{
		ellipse.setFrame(ellipse.x,ellipse.y,ellipse.width,(double)height);
		
	}

	public int getWidth()
	{
		return (int)ellipse.getWidth();
	}

	public void setWidth(int width)
	{
		ellipse.setFrame(ellipse.x,ellipse.y,(double)width,ellipse.height);
	}

	public int getX()
	{
		return (int)ellipse.x;
	}

	public void setX(int x)
	{
		ellipse.setFrame((double)x,ellipse.y,ellipse.width,ellipse.height);
	}

	public int getY()
	{
		return (int)ellipse.y;
	}

	public void setY(int y)
	{
		ellipse.setFrame(ellipse.x,(double)y,ellipse.width,ellipse.height);
	}

	public int getCenterX()
	{
		return (int)ellipse.getCenterX();
	}

	public int getCenterY()
	{
		return (int)ellipse.getCenterY();
	}
	
	public void paint(Graphics g)
	{
		Graphics2D g2 = (Graphics2D)g;
		if(isSelected)
		{
			g2.setColor(selectedColor);
			g2.draw(new Ellipse2D.Double(ellipse.x-3,ellipse.y-3,ellipse.width+6,ellipse.height+6));
		}
		g2.setColor(unselectColor);
		g2.draw(ellipse);
	}

	public PopupMenu getPopupMenu()
	{
		return popupMenu;
	}

	public void setPopupMenu(PopupMenu menu)
	{
		this.popupMenu = menu;
	}

	public boolean contains(int x, int y)
	{
		return this.ellipse.contains(x,y);
	}

	public Object clone()
	{
		return this.clone();
	}

	public void editShape(int mousex,int mousey)
	{
	}

	public void addOtherShape(ShapeShell shape)
	{
	}

	public Map getOtherShapes()
	{
		return null;
	}

	public Map setOtherShapes(Map shapes)
	{
		return null;
	}

	public ShapeShell getOtherShape(String id)
	{
		return null;
	}

	public ShapeShell removeOtherShape(String id)
	{
		return null;
	}
}

⌨️ 快捷键说明

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