我有JTextfield
。现在,我希望在鼠标单击此组件时更改值。例如:得分(2大JTextField
),当我点击其中一个字段时,它会将值从0:0增加到1:0。
我应该实施MouseListener
还是有一些简单的方法可以做到这一点?在鼠标监听器中,我需要覆盖一个方法mouseClick
,其他方法将为空。
另一个问题:我应该何时实施MouseListener
? e.getButton()
左按钮返回1,右按钮返回3?
答案 0 :(得分:2)
我应该实现MouseListener还是有一些简单的方法可以做到这一点?在鼠标列表器中,我只需要覆盖一个方法mouseClick,其他方法将为空。
使用MouseAdapter
。
用于接收鼠标事件的抽象适配器类。此类中的方法为空。 ..扩展此类以创建MouseEvent(包括拖动和运动事件)或/和MouseWheelEvent侦听器,覆盖感兴趣事件的方法。
答案 1 :(得分:2)
Now I want to change value when in this component is mouse clicked
JTextComponents是可聚焦的,请查找FocusListener
答案 2 :(得分:1)
在您的课程上实施MouseListener
是一种方法,但如果您只想对点击做出反应,则更容易使用扩展MouseAdapter
的匿名类
textField.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
// do your thing here
}
});
关于第二个问题,API文档很好地记录了return values of MouseEvent.getButton()
。