类中的Java MouseListener

类中的Java MouseListener,java,eclipse,swing,mouselistener,swingx,Java,Eclipse,Swing,Mouselistener,Swingx,我是Java新手,希望实现以下目标 我有各种组合框。对于每个组合框我都有一个按钮,可以清除组合框的内容。clear buton是从我创建的通用类ClearComboBoxButton创建的。作为这个clearcomboxbutton类的一部分,我想添加一个MouseListener,它将清除与其关联的combobox 创建按钮时,关联的组合框将作为参数传递 这就是我现在拥有的。(我的按钮已成功创建,但侦听器似乎未启动) 事件源(按钮)需要注册事件处理程序才能接收鼠标事件。由于您的按钮实现了Mou

我是Java新手,希望实现以下目标

我有各种
组合框
。对于每个
组合框
我都有一个按钮,可以清除组合框的内容。clear buton是从我创建的通用类
ClearComboBoxButton
创建的。作为这个
clearcomboxbutton
类的一部分,我想添加一个
MouseListener
,它将清除与其关联的
combobox

创建按钮时,关联的
组合框将作为参数传递

这就是我现在拥有的。(我的按钮已成功创建,但
侦听器
似乎未启动)

事件源(按钮)需要注册事件处理程序才能接收鼠标事件。由于您的按钮实现了MouseListener,您可以将此
注册为您的侦听器:

public ClearComboBoxButton(JXComboBox cboComboBox){
    super();        
    this.setCboComboBox(cboComboBox);
    setPreferredSize(new Dimension(20, 20));
    setMinimumSize(new Dimension(20,20));
    setMaximumSize(new Dimension(20, 20));
    setToolTipText("Clear");
    setIcon(new ImageIcon("C:\\Java\\icons\\cancel.png"));

    this.addMouseListener(this); // add this line
}
事件源(按钮)需要注册事件处理程序才能接收鼠标事件。由于您的按钮实现了MouseListener,您可以将此注册为您的侦听器:

public ClearComboBoxButton(JXComboBox cboComboBox){
    super();        
    this.setCboComboBox(cboComboBox);
    setPreferredSize(new Dimension(20, 20));
    setMinimumSize(new Dimension(20,20));
    setMaximumSize(new Dimension(20, 20));
    setToolTipText("Clear");
    setIcon(new ImageIcon("C:\\Java\\icons\\cancel.png"));

    this.addMouseListener(this); // add this line
}
事件源(按钮)需要注册事件处理程序才能接收鼠标事件。由于您的按钮实现了MouseListener,您可以将此注册为您的侦听器:

public ClearComboBoxButton(JXComboBox cboComboBox){
    super();        
    this.setCboComboBox(cboComboBox);
    setPreferredSize(new Dimension(20, 20));
    setMinimumSize(new Dimension(20,20));
    setMaximumSize(new Dimension(20, 20));
    setToolTipText("Clear");
    setIcon(new ImageIcon("C:\\Java\\icons\\cancel.png"));

    this.addMouseListener(this); // add this line
}
事件源(按钮)需要注册事件处理程序才能接收鼠标事件。由于您的按钮实现了MouseListener,您可以将此注册为您的侦听器:

public ClearComboBoxButton(JXComboBox cboComboBox){
    super();        
    this.setCboComboBox(cboComboBox);
    setPreferredSize(new Dimension(20, 20));
    setMinimumSize(new Dimension(20,20));
    setMaximumSize(new Dimension(20, 20));
    setToolTipText("Clear");
    setIcon(new ImageIcon("C:\\Java\\icons\\cancel.png"));

    this.addMouseListener(this); // add this line
}

首先,
mouseClicked()
方法没有任何作用:

@Override
public void mouseClicked(MouseEvent arg0) {
    // TODO Auto-generated method stub
}
其次,为了调用您的侦听器,应该将其添加到触发鼠标事件的组件中,以及您想要侦听的组件中。因为您的按钮想要知道自己触发的事件,所以您需要

this.addMouseListener(this);
但是您不应该使用
鼠标听筒
来听按钮的点击。为此,应使用
ActionListener
。首先是因为它在语义上更简单、更正确。第二,因为许多用户使用键盘单击按钮


我个人会避免扩展JXButton,而是使用composition。我还将使用匿名类作为侦听器,而不是让您的类实现它。

首先,
mouseClicked()
方法没有任何作用:

@Override
public void mouseClicked(MouseEvent arg0) {
    // TODO Auto-generated method stub
}
其次,为了调用您的侦听器,应该将其添加到触发鼠标事件的组件中,以及您想要侦听的组件中。因为您的按钮想要知道自己触发的事件,所以您需要

this.addMouseListener(this);
但是您不应该使用
鼠标听筒
来听按钮的点击。为此,应使用
ActionListener
。首先是因为它在语义上更简单、更正确。第二,因为许多用户使用键盘单击按钮


我个人会避免扩展JXButton,而是使用composition。我还将使用匿名类作为侦听器,而不是让您的类实现它。

首先,
mouseClicked()
方法没有任何作用:

@Override
public void mouseClicked(MouseEvent arg0) {
    // TODO Auto-generated method stub
}
其次,为了调用您的侦听器,应该将其添加到触发鼠标事件的组件中,以及您想要侦听的组件中。因为您的按钮想要知道自己触发的事件,所以您需要

this.addMouseListener(this);
但是您不应该使用
鼠标听筒
来听按钮的点击。为此,应使用
ActionListener
。首先是因为它在语义上更简单、更正确。第二,因为许多用户使用键盘单击按钮


我个人会避免扩展JXButton,而是使用composition。我还将使用匿名类作为侦听器,而不是让您的类实现它。

首先,
mouseClicked()
方法没有任何作用:

@Override
public void mouseClicked(MouseEvent arg0) {
    // TODO Auto-generated method stub
}
其次,为了调用您的侦听器,应该将其添加到触发鼠标事件的组件中,以及您想要侦听的组件中。因为您的按钮想要知道自己触发的事件,所以您需要

this.addMouseListener(this);
但是您不应该使用
鼠标听筒
来听按钮的点击。为此,应使用
ActionListener
。首先是因为它在语义上更简单、更正确。第二,因为许多用户使用键盘单击按钮


我个人会避免扩展JXButton,而是使用composition。我还将使用匿名类作为侦听器,而不是让您的类实现它。

您的按钮需要将自身添加为鼠标侦听器(
this.addMouseStener(this)
)。您的按钮需要将自身添加为鼠标侦听器(
this.addMouseStener(this)
)。您的按钮需要将自身添加为鼠标侦听器(
this.addMouseListener(this)
)。您的按钮需要将自身添加为鼠标侦听器(
this.addMouseListener(this)
)。