使用 JButton 填充 JList 并在 Jlist 上使用 DoubleClick 填充 JTextField

Populating a JList using a JButton and Populating the JTextField using DoubleClick on the Jlist

我正在尝试通过按钮填充 JList,然后在之前填充的 Jlist 上使用 DoubleClick 填充 JTextField。

代码:

 private void extractUsedVariablesActionPerformed(java.awt.event.ActionEvent evt) {                                                     
     // TODO add your handling code here:


     if(arguments.size() > 0)
        JOptionPane.showMessageDialog(null, "Please complete the predicates before accessing this");

     DefaultListModel lista1 = new DefaultListModel();
     for (int i = 0;i<variableList.size();i++)
        {
        if (!lista1.contains(variableList.get(i)))
        {
        lista1.addElement(variableList.get(i));
        }
        }
     argVariables_List.setModel(lista1);  
     revalidate();
     repaint();

    if (lista1.size()>0){
         System.out.println("got here1");
         MouseListener mouseListener2 = new MouseAdapter() 
              {          
                public void mouseClicked1(MouseEvent mouseEvent2) 
                 {
                  JList varList = (JList) mouseEvent2.getSource();
                      if (mouseEvent2.getClickCount() == 2) 
                         {
                         System.out.println("may be");
                         int index varList.locationToIndex(mouseEvent2.getPoint());
                        if (index >= 0) 
                         {
                          Object o2 = varList.getModel().getElementAt(index);
                          System.out.println(o2.toString());         
                        }                          
                      }
                    }                     
                  };
                   argVariables_List.addMouseListener(mouseListener2);
    }

} 

它在填充 Jlist 之前工作正常。但是当我尝试双击操作并在单击的索引处打印文本时,我没有得到任何输出,也没有任何错误。如果我遗漏了什么,请建议我。

public void mouseClicked1(MouseEvent mouseEvent2) 

MouseListener接口中没有这个方法。 (注意“1”)。

确保在方法上方的行中包含 @Override,如果输入错误,您将收到编译器错误。

@Override
public void mouseClicked1(MouseEvent mouseEvent2)