标签:触发 常用 鼠标 MouseEvent void 监听器 swing Override public
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(); //读取滑动条当前的数值
标签:触发,常用,鼠标,MouseEvent,void,监听器,swing,Override,public 来源: https://www.cnblogs.com/classicltl/p/16125381.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。