我需要知道如何有效地將鼠標事件添加到JComboBox或任何其他可行的方法。我在這裏找到了一些可能的解決方案,也找到了不同的網站,但我無法實現它的工作。似乎mouseEvent不適合在JComboBox上使用,因爲它是一個複合組件。我發現了一個複合組件的可能解決方案,但也不起作用。所以下面是我使用文本字段時的代碼。我應該使用哪種方法的任何想法?謝謝如何將偵聽器事件添加到Java中的JComboBox中
private void updateReviewers() {
jComboBox_reviewer.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("clicked");
}
@Override
public void mousePressed(MouseEvent e) {
System.out.println("pressed");
}
@Override
public void mouseReleased(MouseEvent e) {
System.out.println("released");
}
@Override
public void mouseEntered(MouseEvent e) {
System.out.println("entered");
}
@Override
public void mouseExited(MouseEvent e) {
System.out.println("exited");
}
}
);
}
感謝@Juxhin,有沒有辦法被點擊下拉框中時,甚至從列表中選擇一個項目之前添加一個事件? – Bob 2015-04-04 10:32:43
是的,提供的代碼將做到這一點。我會誠實地說,我不確定'Object'在調用getSelectedItem時會返回什麼(因爲你剛剛點擊了組合框並且沒有其中的項目),但是我的直覺告訴我它將返回第一個對象默認。不過,從你所說的話我不認爲你應該有問題。 – Juxhin 2015-04-04 10:34:37
對不起@Juxhin,但上面的代碼只適用於我從列表中選擇一個元素。不知道我是否錯過了解這裏的某些東西,但它不適合我。 – Bob 2015-04-04 10:55:33