2017-03-29 9 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를 채우기까지 잘 작동한다. 하지만 더블 클릭 작업을 시도하고 클릭 한 색인에 텍스트를 인쇄 할 때 어떤 오류도 출력되지 않습니다. 내가 뭔가를 놓친다면 나에게 제안 해주세요.

+0

다른 사람들과 공유하기 전에 코드를 들여 씁니다. – Oneiros

답변

2
public void mouseClicked1(MouseEvent mouseEvent2) 

MouseListener 인터페이스에는 이러한 메소드가 없습니다. ("1"에주의하십시오).

위의 줄에 @Override을 포함해야합니다. 오타를 만들면 컴파일러 오류가 발생합니다.

@Override 
public void mouseClicked1(MouseEvent mouseEvent2)