toolaction.java

来自「这也是我在论坛上看见的一个程序。感觉非常好」· Java 代码 · 共 74 行

JAVA
74
字号
package com.sunking.tp.tool;import javax.swing.*;import java.beans.*;import java.awt.event.*;import com.sunking.tp.tool.*;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 + -
显示快捷键?