单击鼠标时更改值

时间:2011-10-23 21:04:40

标签: java swing mouselistener

我有JTextfield。现在,我希望在鼠标单击此组件时更改值。例如:得分(2大JTextField),当我点击其中一个字段时,它会将值从0:0增加到1:0。

我应该实施MouseListener还是有一些简单的方法可以做到这一点?在鼠标监听器中,我需要覆盖一个方法mouseClick,其他方法将为空。

另一个问题:我应该何时实施MouseListenere.getButton()左按钮返回1,右按钮返回3?

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()