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

📄 diagrampart.java

📁 GEF初学者可以用来对照的小例子
💻 JAVA
字号:
package com.dss.moon.gef.parts;

import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.List;

import org.eclipse.draw2d.IFigure;
import org.eclipse.gef.EditPolicy;
import org.eclipse.gef.editparts.AbstractGraphicalEditPart;

import com.dss.moon.gef.editpolicies.DiagramLayoutEditPolicy;
import com.dss.moon.gef.model.Diagram;
import com.dss.moon.gef.view.DiagramFigure;

public class DiagramPart extends AbstractGraphicalEditPart 
	implements PropertyChangeListener{

	  
    protected IFigure createFigure() {
       return new DiagramFigure();
    }

    

    protected List getModelChildren() {

      List children = ((Diagram)getModel()).getChildren();
      return children;

    }

    

    protected void createEditPolicies() {
    	installEditPolicy(EditPolicy.LAYOUT_ROLE, new DiagramLayoutEditPolicy());
    }



	public void propertyChange(PropertyChangeEvent evt) {
		// TODO Auto-generated method stub
		String propertyName = evt.getPropertyName();
		if("children".equals(propertyName)){
			refreshChildren();
		}
		
	}     
	
	public void activate(){
		if(isActive())
			return;
		super.activate();
		((Diagram)getModel()).addPropertyChangeListener(this);
	}
	
	public void deactivate(){
		if(!isActive())
			return;
		super.deactivate();
		((Diagram)getModel()).removePropertyChangeListener(this);
	}

}


⌨️ 快捷键说明

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