[英]Double-click repeating by how many times button pressed
我有一個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;
}
每次調用results
您都將添加一個新的MouseListener
。
這個...
DefaultListModel model = new DefaultListModel();
model.addElement(message);
showOption.setModel(model);
顯示showOption
是JList
的現有實例(很好),但是您可以...
MouseListener mouseListener = new MouseAdapter() {
//...
};
showOption.addMouseListener(mouseListener);
它將ANOTHER MouseListener
添加到JList
,因此每次調用此方法時,都會將另一個MouseListener
添加到JList
。
首次創建JList
時,將其添加到單個MouseListener
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.