2014-01-23 2 views
0

DefaultListModel의 XML을 가진 Jlist이 있습니다.DefaultListModel 내에서 항목의 문자열 이름을 업데이트하는 방법

Jlist에있는 항목의 이름을 변경하고 싶습니다. DefaultListModel에는 업데이트 방법이 없습니다.

사용자가 이름을 클릭하면 이름을 수정해야합니다.

지금까지 항목의 위치를 ​​가져 와서 제거하고 새 데이터로 업데이트하면 생각했습니다. 하지만 그때 새 이름으로 업데이트하면 이전 위치와 같은 위치에 놓이게 될 것인가 아니면 일이 엉망이 될 것입니까?

내 코드 :

private class EditName extends AbstractAction { 
     public EditName() { 
      putValue(NAME, "Change Name"); 
      putValue(SHORT_DESCRIPTION, "Some short description"); 
     } 

     public void actionPerformed(ActionEvent e) { 

      int x = objTypeJList.getSelectedIndex(); 
       String newName = JOptionPane.showInputDialog("New Name?"); 

       if (x >= 0) { 
        String oldName = ReadXMLFile.getInstance().getModel().getElementAt(x).toString(); 
        ReadXMLFile.getInstance().getModel().removeElementAt(x); 
        objTypeJList.setModel(ReadXMLFile.getInstance().getModel()); 
       } 
        // newText I wanna add into the the location I edit 
      } 

    } 
+0

'그러나 새 이름으로 업데이트하면 이전 위치와 동일한 위치에 놓이게 될 것인가 아니면 일이 엉망이 될 것입니까?'시도해보고 어떤 일이 발생했는지 알려주십시오. 시도해 보면 배울 수 있습니다. 코드가 요소 하나를 제거하지만 전체 모델을 업데이트하는 이유는 무엇입니까? – camickr

답변

3

".. 나는 JList에있는 항목의 이름을 수 변화되고 싶어하지만 DefaultListModel 더 업데이트 방법이 없습니다"

당신은 무엇이라고 말합니까? docs을주의 깊게 살펴 보셨습니까?

이 방법에 대해 어떻게 생각하십니까?

+0

맞습니다. 롤 메소드 이름 만 읽었습니다. – Sembrano