📄 ellipseshell.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 + -