toolaction.java

来自「java画图源码」· Java 代码 · 共 75 行

JAVA
75
字号
package com.sunking.tp.tool;
import java.beans.*;

import java.awt.event.*;
import javax.swing.*;

import com.sunking.tp.framework.*;

/**
 *
 * <p>Title: </p>
 * <p>Description: 工具动作</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: </p>
 * @author <a href="mailto:sunkingxie@hotmail.com">SunKing</a>
 * @version 1.0
 */
public class ToolAction extends AbstractAction implements PropertyChangeListener{
    Desktop desk;
    Tool tool;
    /**
     *
     * @param desk
     * @param tool
     */
    public ToolAction(Desktop desk,Tool tool) {
        this.desk = desk;
        this.tool = tool;
        init(tool);
        tool.addPropertyChangeListener(this);
    }
    void init(Tool tool){
        putValue(Action.NAME,tool.getLabel());
        putValue(Action.SHORT_DESCRIPTION,tool.getToolTip());
        putValue(Action.SMALL_ICON,tool.getIcon());
        setEnabled(tool.isEnabled());
    }
    public void actionPerformed(ActionEvent e) {
        desk.setTool(tool);
    }
    /**
     *属性改变
     * @param e
     */
    public void propertyChange(PropertyChangeEvent e){
        String property = e.getPropertyName();
        Object newValue = e.getNewValue();
        if(property.equals(Tool.ENABLED_PROPERTY)){
            if(!newValue.equals(Tool.NULL_VALUE)){
                setEnabled(((Boolean)newValue).booleanValue());
            }
        }else if(property.equals(Tool.ICON_PROPERTY)){
            if(!newValue.equals(Tool.NULL_VALUE)){
                putValue(Action.SMALL_ICON,(Icon)e.getNewValue());
            }else{
                putValue(Action.SMALL_ICON,null);
            }
        }else if(property.equals(Tool.LABEL_PROPERTY)){
            if(!newValue.equals(Tool.NULL_VALUE)){
                putValue(Action.NAME,e.getNewValue().toString());
            }else{
                putValue(Action.NAME,null);
            }
        }else if(property.equals(Tool.TOOLTIP_PROPERTY)){
            if(!newValue.equals(Tool.NULL_VALUE)){
                putValue(Action.SHORT_DESCRIPTION,e.getNewValue().toString());
            }else{
                putValue(Action.SHORT_DESCRIPTION,null);
            }
        }else if(property.equals(Tool.SELECT_PROPERTY)){

        }
    }
}

⌨️ 快捷键说明

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