2017-03-29 162 views
0

我想通過一個按鈕填充JList,然後在之前填充的Jlist上使用DoubleClick填充JTextField。使用JButton填充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。但是當我嘗試doubleclick操作並在點擊索引處打印文本時,我沒有得到任何輸出,也沒有任何錯誤。如果我錯過了一些東西,請告訴我。

+0

上帝請在與他人分享前縮進您的代碼... – Oneiros

回答

2
public void mouseClicked1(MouseEvent mouseEvent2) 

在MouseListener接口中沒有這樣的方法。 (注意「1」)。

確保您在方法上方的行中包含@Override,並且當您輸入錯字時您將收到編譯器錯誤。

@Override 
public void mouseClicked1(MouseEvent mouseEvent2)