📄 dstooljbutton.java~1~
字号:
package drawsmart.itsv.menuber;
import javax.swing.JToggleButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
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.*;
/**
* <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, ChangeListener
{
//获得初始化的绘图按钮数组
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 桌面接口
*/
public DSToolJButton(JDSDesktopface jDSDesktopface)
{
//获得平台的引用
this.jDSDesktopface=jDSDesktopface;
//添加监听器
addListener();
}
/**
* 构造器
* @param jDSDesktopface 桌面接口
* @param jDSMouseEventface 桌面绘图监听器接口
*/
public DSToolJButton(JDSDesktopface jDSDesktopface,JDSMouseEventface jDSMouseEventface)
{
//获得平台的引用
this.jDSDesktopface=jDSDesktopface;
//桌面绘图监听器接口
this.jDSMouseEventface=jDSMouseEventface;
//设置字体
this.setFont(font);
//添加监听器
addListener();
//添加属性监听器
//jDSMouseEventface.addPropertyChangeListener(this);
//添加图标
this.setIcon(jDSMouseEventface.getImageIcon());
}
/**
* 构造器
* @param jDSDesktopface 桌面接口
* @param jDSMouseEventface 桌面绘图监听器接口
* @param title 标题
*/
public DSToolJButton(JDSDesktopface jDSDesktopface,JDSMouseEventface jDSMouseEventface,String title)
{
//获得平台的引用
this.jDSDesktopface=jDSDesktopface;
//桌面绘图监听器接口
this.jDSMouseEventface=jDSMouseEventface;
//设置文本
this.setText(title);
//设置字体
this.setFont(font);
//添加监听器
addListener();
//添加属性监听器
//jDSMouseEventface.addPropertyChangeListener(this);
//添加图标
this.setIcon(jDSMouseEventface.getImageIcon());
this.addChangeListener(this);
}
/**
* 构造器
* @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.setFont(font);
//添加监听器
addListener();
//添加属性监听器
//jDSMouseEventface.addPropertyChangeListener(this);
//添加图标
this.setIcon(jDSMouseEventface.getImageIcon());
}
/**
* 构造器
* @param jDSDesktopface 桌面接口
* @param jDSMouseEventface 桌面绘图监听器接口
* @param jDSToolBarface 工具栏ToolBar 接口
*/
public DSToolJButton(JDSDesktopface jDSDesktopface,JDSMouseEventface jDSMouseEventface,JDSToolBarface jDSToolBarface)
{
//获得平台的引用
this.jDSDesktopface=jDSDesktopface;
//桌面绘图监听器接口
this.jDSMouseEventface=jDSMouseEventface;
//工具栏ToolBar 接口
this.jDSToolBarface=jDSToolBarface;
//设置字体
this.setFont(font);
//添加监听器
addListener();
//添加属性监听器
//jDSMouseEventface.addPropertyChangeListener(this);
//添加图标
this.setIcon(jDSMouseEventface.getImageIcon());
}
//添加工具按钮监听器
private void addListener()
{
//添加单击事件监听器
this.addActionListener(this);
//添加属性改变监听器
//this.addPropertyChangeListener(this);
//
this.addChangeListener(this);
}
/**
* 单击时调用
* @param e
*/
public void actionPerformed(ActionEvent e)
{
Component[] Components=jDSToolBarface.getJDSToolButton();
//判断选中的状态是否是选中
if(this.isSelected())
{
jDSDesktopface.addMouseInputListener(jDSMouseEventface);
//循环每一个组件
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);
jDSDesktopface.removeMouseInputListener(jDSMouseEventface);
}
}
}
}
}
/**
* 属性改变时调用
* @param evt
*/
/*public void propertyChange(PropertyChangeEvent evt)
{
String property = evt.getPropertyName();
Object newValue=evt.getNewValue();
}*/
public void stateChanged(ChangeEvent e)
{
System.out.println("改变了");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -