📄 dstooljbutton.java
字号:
package drawsmart.itsv.menuber;
import javax.swing.JToggleButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.*;
import java.beans.PropertyChangeListener;
import javax.swing.event.*;
import java.awt.*;
import javax.swing.border.*;
import javax.swing.*;
import drawsmart.itsv.framework.*;
import drawsmart.itsv.*;
import java.awt.event.KeyListener;
/**
* <p>Title: 绘制工具</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author 崔江
* @version 2.0
*/
public class DSToolJButton extends JToggleButton implements ActionListener, PropertyChangeListener
{
//获得初始化的绘图按钮数组
private DSToolJButton DSToolJButton[]=null;
//初始化的尺寸大小
//private Dimension dimension=new Dimension(50,100);
//字体
private Font font=new Font("宋体",14,14);
//平台接口
private JDSDesktopface jDSDesktopface=null;
//桌面绘图监听器接口
private JDSMouseEventface jDSMouseEventface=null;
//工具栏ToolBar 接口
private JDSToolBarface jDSToolBarface=null;
//边框样式
private Border border = BorderFactory.createEtchedBorder(Color.white,Color.black);
/**
* 构造器
* @param jDSDesktopface 桌面接口
* @param jDSMouseEventface 桌面绘图监听器接口
* @param title 标题
*/
public DSToolJButton(JDSDesktopface jDSDesktopface,JDSMouseEventface jDSMouseEventface,String title)
{
this(jDSDesktopface,jDSMouseEventface,"",null);
}
/**
* 构造器
* @param jDSDesktopface 桌面接口
* @param jDSMouseEventface 桌面绘图监听器接口
* @param jDSToolBarface 工具栏ToolBar 接口
*/
public DSToolJButton(JDSDesktopface jDSDesktopface,JDSMouseEventface jDSMouseEventface,JDSToolBarface jDSToolBarface)
{
this(jDSDesktopface,jDSMouseEventface,"",jDSToolBarface);
}
/**
* 构造器
* @param jDSDesktopface 桌面接口
* @param jDSMouseEventface 桌面绘图监听器接口
* @param title 标题
* @param jDSToolBarface 工具栏ToolBar 接口
*/
public DSToolJButton(JDSDesktopface jDSDesktopface,JDSMouseEventface jDSMouseEventface,String title,JDSToolBarface jDSToolBarface)
{
//获得平台的引用
this.jDSDesktopface=jDSDesktopface;
//桌面绘图监听器接口
this.jDSMouseEventface=jDSMouseEventface;
//工具栏ToolBar 接口
this.jDSToolBarface=jDSToolBarface;
//设置文本
//this.setText(title);
this.setToolTipText(title);
//设置字体
this.setFont(font);
//添加监听器
addListener();
//添加图标
this.setIcon(jDSMouseEventface.getImageIcon());
}
//添加工具按钮监听器
private void addListener()
{
//添加单击事件监听器
this.addActionListener(this);
//添加属性改变监听器
this.addPropertyChangeListener(this);
}
/**
* 单击时调用
* @param e
*/
public void actionPerformed(ActionEvent e)
{
Component[] Components=jDSToolBarface.getJDSToolButton();
//判断选中的状态是否是选中
if(this.isSelected())
{
//设置鼠标样式
jDSDesktopface.setMouseSyle(jDSMouseEventface.getCursor());
//添加鼠标监听器
jDSDesktopface.addMouseInputListener(jDSMouseEventface);
//jDSDesktopface.addKeyListener(keyListener);
//循环每一个组件
for(int i=0;i<Components.length;i++)
{
//如果是状态按钮
if(Components[i] instanceof DSToolJButton && Components[i]!=this)
{
if(((DSToolJButton)Components[i]).isSelected())
{
//设置按钮状态弹起
((DSToolJButton)Components[i]).setSelected(false);
//设置改变图标属性,来击发属性监听器
Icon icon=((DSToolJButton)Components[i]).getIcon();
((DSToolJButton)Components[i]).setIcon(null);
((DSToolJButton)Components[i]).setIcon(icon);
}
}
}
}
else
{
this.setSelected(true);
//删除作废的监听器
//jDSDesktopface.removeMouseInputListener(jDSMouseEventface);
//设置鼠标样式
//jDSDesktopface.setMouseSyle(new Cursor(Cursor.DEFAULT_CURSOR));
}
}
/**
* 属性改变时调用
* @param evt
*/
public void propertyChange(PropertyChangeEvent evt)
{
//删除作废的监听器
jDSDesktopface.removeMouseInputListener(jDSMouseEventface);
//jDSDesktopface.removeKeyListener(keyListener);
}
/**
* 无法使用--原因不明
*/
public void setIniProperty()
{
this.setSelected(true);
//设置鼠标样式
jDSDesktopface.setMouseSyle(jDSMouseEventface.getCursor());
//添加鼠标监听器
jDSDesktopface.addMouseInputListener(jDSMouseEventface);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -