我有一個JList,它在每次雙擊列表中的值時運行代碼。按下按鈕時會填充該值。我的問題是每次點擊按鈕,然後雙擊JList值,它會重複該代碼,但是多次按下該按鈕。雙擊按鈕按下的次數
例如,第一次看起來一切都很好,但如果再次按下按鈕來更改JList值,它將執行兩次雙擊代碼。如果我第三次按它,它將執行三次代碼,依此類推。如果這是一件容易的事,我對此非常抱歉。感謝您的任何信息。下面的代碼讓我知道如果更多是必要的。
public DefaultListModel results(StringBuilder message)
{
DefaultListModel model = new DefaultListModel();
model.addElement(message);
showOption.setModel(model);
MouseListener mouseListener = new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2)
{
int index = showOption.locationToIndex(e.getPoint());
Object o = showOption.getModel().getElementAt(index);
System.out.println("Double-clicked on: " + o.toString());
}
}
};
showOption.addMouseListener(mouseListener);
return model;
}
爲什麼每次都必須創建一個新的'DefaultListModel'和'MouseListener'?你有沒有注意到你的代碼甚至不依賴於你繼續創建的任何東西? –