2014-10-14 2 views
0

jlist.the에 문제가 있습니다. 내 텍스트 영역에 데이터를 놓을 때마다 데이터가 내 jlist에 표시되지만 데이터를 채우지 않고 이전 데이터를 제거합니다. 여기 만텍스트 영역에서 jlist로 데이터를 채우는 방법

private void postButtonActionPerformed(java.awt.event.ActionEvent evt) {           

    String theAccountID = showAccountID.getText(); 
    String theFirstName = showFName.getText(); 
    String theLastName = showSName.getText(); 
    String name = theFirstName + " " + theLastName; 

    DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); 
    Date date = new Date(); 
    String dateAndTimeCreated = dateFormat.format(date); 

    String show = thePost.getText(); 
    Post obj = new Post(show); 
    String post = obj.getContent(); 

    DefaultListModel model = new DefaultListModel(); 

    String postOutput = dateAndTimeCreated + "  " + name + ": " + post; 
    try 
    { 
     if(obj.getContent().equals("")) 
     { 
      JOptionPane.showMessageDialog(null, "This status update appears to be blank. Please write something to update your status."); 
     } 

     else 
     { 
      model.addElement(postOutput); 
      showPostStatus.setModel(model); 

      String sql = "insert into Post(account_id,post,datePostCreated) values (?,?,?)"; 
      pst = conn.prepareStatement(sql); 
      pst.setString(1,theAccountID); 
      pst.setString(2,post); 
      pst.setString(3,dateAndTimeCreated); 
      pst.execute(); 
      pst.close(); 
     } 
    } 

    catch(Exception e) 
    { 
     JOptionPane.showMessageDialog(null,e); 
    } 

    thePost.setText(null); 

}  
+1

귀하의 문제를 보여주는 [실행 가능한 예제] (https://stackoverflow.com/help/mcve)를 제공하는 것이 좋습니다. 이렇게하면 혼란이 줄어들고 응답이 향상됩니다. – MadProgrammer

답변

3

당신은 ListModel마다 postButtonActionPerformed을 다시 만드는 호출되는 방식으로 내 코드입니다 .. 현재의 입력을 보여줍니다,이 (효과적으로)이 JList이 찬성 표시하는 것을 다른 모든 것들을 삭제 새 모델의 내용

DefaultListModel을 i nstance 필드, ... JList의 모델로 설정하고

또한 같은 뭔가를 할 수를 필요에 따라 간단하게이 모델을 업데이트

DefaultListModel model = (DefaultListModel)showPostStatus.getModel(); 
// update the model... 

당신은 어떤 변화에 따라, 모델을 적용 할 필요가 없습니다 당신은 자동으로 JList 내에 반영됩니다 ...

+0

감사합니다. 나는 DefaultListModel 모델을 넣어 보았는데 = 새로운 DefaultListModel(); postButton 밖에서 작동합니다! 그래서 그것이 다시 만들어지기 때문에 채워지지 않습니다.하지만 당신이 제공하는 코드 DefaultListModel model = (DefaultListModel) showPostStatus; 오류가 있습니다. – user14