【发布时间】:2014-06-14 17:46:33
【问题描述】:
我是 Java 新手,希望实现以下目标。
我有一个不同的comboboxes。对于每个combobox,我都有一个应该清除组合框内容的按钮。清除按钮是从我创建的通用 ClearComboBoxButton 类创建的。作为 ClearComboBoxButton 类的一部分,我想添加一个 MouseListener 来清除与之关联的 combobox。
当我创建按钮时,关联的combobox 作为参数传递。
这是我目前所拥有的。 (我的按钮创建成功,但listener 似乎没有触发)
public class ClearComboBoxButton extends JXButton implements MouseListener{
private JXComboBox cboComboBox;
private static final long serialVersionUID = 1L;
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"));
}
public void mouseClicked(MouseEvent arg0, JXComboBox cboComboBox) {
System.out.println("Cleared");
this.setCboComboBox(cboComboBox);
cboComboBox.setSelectedIndex(-1);
}
@Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public JXComboBox getCboComboBox() {
return cboComboBox;
}
public void setCboComboBox(JXComboBox cboComboBox) {
this.cboComboBox = cboComboBox;
}
}
【问题讨论】:
-
您的按钮需要将自己添加为鼠标侦听器 (
this.addMouseListener(this))。
标签: java eclipse swing mouselistener swingx