📄 abstracttool.java
字号:
package com.sunking.tp.tool;import com.sunking.tp.framework.*;import java.awt.event.MouseEvent;import javax.swing.*;import java.beans.*;/** * <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 AbstractTool implements Tool { /** *所属绘图桌面 */ protected Desktop desk; /** *是否激活 */ protected Boolean isEnabled = Boolean.TRUE; /** *是否选择 */ protected Boolean isSelected = Boolean.FALSE; /** *图片 */ protected Icon icon; /** *提示信息 */ protected String tooltip; /** *显示文本 */ protected String label; public AbstractTool(Desktop desk) { this.desk = desk; } /** *取得图标 */ public Icon getIcon(){ return this.icon; } /** *设置图标 */ public void setIcon(Icon icon){ Icon old = this.icon; this.icon = icon; firePropertyChange(ICON_PROPERTY,old,icon); } /** *取得提示信息 */ public String getToolTip(){ return tooltip; } /** *设置提示信息 */ public void setToolTip(String tooltip){ String old = this.tooltip; this.tooltip = tooltip; firePropertyChange(TOOLTIP_PROPERTY,old,tooltip); } /** *取得显示文本 */ public String getLabel(){ return label; } /** *设置显示文本 */ public void setLabel(String label){ String old = this.label; this.label = label; firePropertyChange(LABEL_PROPERTY,old,label); } /** *启动工具 */ public void enabledTool() { setSelected(true); desk.addMouseInputListener(this); } /** *弃用工具 */ public void disabledTool() { setSelected(false); desk.removeMouseInputListener(this); desk.setCursor(java.awt.Cursor.getDefaultCursor()); } /** *设置工具激活状态 */ public void setEnabled(boolean enabled){ Boolean old = isEnabled; isEnabled = enabled ? Boolean.TRUE : Boolean.FALSE; firePropertyChange(ENABLED_PROPERTY,old,isEnabled); } /** *设置工具选取状态 */ public void setSelected(boolean selected){ Boolean old = isSelected; isSelected = selected ? Boolean.TRUE : Boolean.FALSE; firePropertyChange(SELECT_PROPERTY,old,isSelected); } /** *是否被选取 */ public boolean isSelected(){ return isSelected.booleanValue(); } /** *是否激活 */ public boolean isEnabled(){ return isEnabled.booleanValue(); } public void mouseClicked(MouseEvent e) { } public void mousePressed(MouseEvent e) { } public void mouseReleased(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mouseDragged(MouseEvent e) { } public void mouseMoved(MouseEvent e) { } private PropertyChangeSupport changeSupport; /** *添加属性监听器 */ public void addPropertyChangeListener(PropertyChangeListener listener) { if (listener != null) { synchronized (this) { if (changeSupport == null) { changeSupport = new PropertyChangeSupport(this); } changeSupport.addPropertyChangeListener(listener); } } } /** *移除属性监听器 */ public void removePropertyChangeListener(PropertyChangeListener listener) { if (listener != null) { synchronized (this) { if (changeSupport != null) { changeSupport.removePropertyChangeListener(listener); } } } } /** *取得所有属性监听者 */ public synchronized PropertyChangeListener[] getPropertyChangeListeners() { if (changeSupport == null) { changeSupport = new PropertyChangeSupport(this); } return changeSupport.getPropertyChangeListeners(); } /** *激发属性改变事件 */ protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) { PropertyChangeSupport changeSupport = this.changeSupport; if (changeSupport != null) { changeSupport.firePropertyChange(propertyName, oldValue, newValue); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -