📄 abstracttool.java
字号:
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 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 + -