swing 监听器常用方法
java Swing事件监听器
动作事件监听器ActionListener
- 添加/删除方法 addActionListener()、removeActionListener()
- 接口代码实现:
public class DrawListenerFather implements ActionListener{
//发生动作(按钮被单击、列表框中选择一项)时调用。
@Override
public void actionPerformed(ActionEvent e) {
//具体代码
System.out.println(e.getActionCommand()+"被单击了");
}
}
ActionEvent常用的方法:
e.getActionCommand(); //获取按钮上的字符串;
JButton btn = (JButton) e.getSource();//获取触发此次事件的组件对象,返回值为Object类型
color = btn.getBackground();//获取按钮上的颜色;
鼠标事件监听器MouseListener, MouseMotionListener
-
添加/删除方法 addMouseMotionListener()/removeMouseMotionListener(dl);
addMouseListener()/removeMouseListener() -
接口代码实现:
//前5个方法为MouseListener接口的抽象方法
public class DrawListenerFather implements MouseListener, MouseMotionListener {
//鼠标点击组件时触发(按下并释放)
@Override
public void mouseClicked(MouseEvent e) {
}
//鼠标按压组件时触发
@Override
public void mousePressed(MouseEvent e) {
}
//鼠标松开组件时触发
@Override
public void mouseReleased(MouseEvent e) {
}
//鼠标进入组件时触发
@Override
public void mouseEntered(MouseEvent e) {
}
//鼠标离开组件时触发
@Override
public void mouseExited(MouseEvent e) {
}
//鼠标在组件中拖拽时触发
@Override
public void mouseDragged(MouseEvent e) {
}
//鼠标在组件中移动时触发
@Override
public void mouseMoved(MouseEvent e) {
}
}
MouseEvent常用的方法:
if(e.getButton==3){//用于流程判断
//鼠标点击了右键时e.getButton==3
//鼠标点击了左键键时e.getButton==1
//鼠标点击了滚轮键时e.getButton==2
}
int x = e.getX(); // 获取当前鼠标的x坐标
int y = e.getY(); //获取当前鼠标的y坐标
键盘事件监听器KeyListener
由于画图板项目并未涉及到键盘事件监听器,此处省略,日后补充。
监听ChangeEvents的ChangeListener
- 在画图板项目中,滑动条滑动时触发
- 添加/删除方法:addChangeListener();/removeChangeListener();
- 接口接口实现:
public class DrawListenerFather implements ChangeListener {
//滑动条滑动时触发
@Override
public void stateChanged(ChangeEvent e) {
//具体代码
}
}
ChangeEvent常用的方法:
JSlider jSlider = (JSlider)e.getSource(); //获取触发此次事件的组件对象,返回值为Object类型
String s = jSlider.getToolTipText(); //获取滑动条的名字
multiple = jSlider.getValue(); //读取滑动条当前的数值