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

📄 abstracttool.java

📁 java画图源码
💻 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 + -