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

时间:2017-03-29 18:42:37

标签: java swing jlist mouselistener

我尝试通过按钮填充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之前工作正常。但是,当我尝试双击操作并在单击的索引处打印文本时,我没有得到任何输出也没有任何错误。如果我错过了什么,请建议我。

1 个答案:

答案 0 :(得分:2)

public void mouseClicked1(MouseEvent mouseEvent2) 

MouseListener接口中没有这样的方法。 (注意&#34; 1&#34;)。

确保在方法上方的行中包含@Override,并且在输入拼写错误时会出现编译错误。

@Override
public void mouseClicked1(MouseEvent mouseEvent2)