Java 按按钮按下的次数双击重复

Java 按按钮按下的次数双击重复,java,swing,jlist,mouselistener,Java,Swing,Jlist,Mouselistener,我有一个JList,它在每次双击列表中的值时运行代码。按下按钮时填充该值。我的问题是,每次单击按钮,然后双击JList值时,无论按钮按下多少次,它都会重复代码 例如,第一次一切看起来都很好,但是如果我再次按下按钮更改JList值,它将执行代码双击两次。如果我第三次按它,它将执行代码三次,以此类推。我是新来的,所以如果这是一个简单的道歉。谢谢你提供的任何信息。代码如下,如果需要更多,请告诉我 public DefaultListModel results(StringBuilder message

我有一个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 model = new DefaultListModel();
model.addElement(message);
showOption.setModel(model);
显示
showOption
JList
的现有实例(这很好),但您确实

MouseListener mouseListener = new MouseAdapter() {
    //...
};

showOption.addMouseListener(mouseListener);
它将另一个
mouseStener
添加到
JList
,因此每次调用此方法时,将有另一个
mouseStener
添加到
JList


首次创建时,向
JList
添加一个
MouseListener

每次调用
results
时,您都在添加一个新的
MouseListener

这个

DefaultListModel model = new DefaultListModel();
model.addElement(message);
showOption.setModel(model);
显示
showOption
JList
的现有实例(这很好),但您确实

MouseListener mouseListener = new MouseAdapter() {
    //...
};

showOption.addMouseListener(mouseListener);
它将另一个
mouseStener
添加到
JList
,因此每次调用此方法时,将有另一个
mouseStener
添加到
JList


首次创建时,在
JList
中添加一个
MouseStener

为什么每次都要创建一个新的
DefaultListModel
MouseStener
?您是否注意到您的代码甚至不依赖于您再次创建的任何内容?为什么每次都要创建一个新的
DefaultListModel
MouseListener
?您是否注意到您的代码甚至不依赖于您再次创建的任何内容?