2014-11-04 6 views
0

제 질문은 목록 항목을 두 번 클릭하여 JList를 다시 칠할 수있는 방법입니다. 저를 도와주세요. 저의 첫 자바 프로그래머입니다.항목을 누른 후 어떻게 JList를 다시 칠할 수 있습니까?

여기 내에서 JList 냈다 :

MDAY 및 mtime에 기본 모델과의 JList, 단지 만들 목록을 다시하는 당신은 need't JList의

liste = new JList(mday); 
    System.out.println(mday); 
    list.frame.add(liste, BorderLayout.CENTER); 
    list.frame.validate(); 
    list.frame.repaint(); 
    liste.addMouseListener(new MouseAdapter() { 
     public void mouseClicked(MouseEvent evt) { 
      liste0 = (JList) evt.getSource(); 
      if (evt.getClickCount() == 2) { 
       int index = liste0.locationToIndex(evt.getPoint()); 
       index = index + 1; 
       System.out.println(index); 
       try { 
        c = DriverManager.getConnection(DB_PATH); 
       } catch (SQLException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
       System.out.println("Opened database successfully"); 
       try { 
        stmt = c.createStatement(); 
       } catch (SQLException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 

       String sql = "SELECT * from playscr WHERE _id LIKE " + index; 
       try { 
        rs = stmt.executeQuery(sql); 
       } catch (SQLException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 

       DefaultListModel<String> mtime = new DefaultListModel<String>(); 
       try { 
        while(rs.next()){ 
         String name = ""; 
         String zeit = rs.getString("zeit"); 
         String daten = ""; 
         GetData data = new GetData(name, zeit, daten); 
         mtime.addElement(data.toString()); 
        } 
       } catch (SQLException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
       liste = new JList(mtime); 
       System.out.println(mtime); 
       list.frame.revalidate(); 
       list.frame.repaint(); 
       list.frame.add(liste, BorderLayout.CENTER);    
      } 
     } 
    }); 

답변

1

에 대한 문자열을 데이터베이스에서 온다. 모델

JList<String> list = new JList<String>(new DefaultListModel<String>());

다음 마우스 수신기에서 제거 항목 : ((DefaultListModel<String>)list.getModel()).removeAllElements(); 및 추가 새 항목 ((DefaultListModel<String>)list.getModel()).addElement("test");

읽기 JList tutorial.