2015-10-09 3 views
0

Итак, у меня есть этот код в моей JFrame, и он не работает по какой-то причине:список Обновление с файлами (Java Swing)

private void jList1MouseEntered(java.awt.event.MouseEvent evt) {          
     DefaultListModel jList1Model = (DefaultListModel) jList1.getModel(); 
     File f=new File("/home"); 
     File[] allSubFiles=f.listFiles(); 
     for (File file : allSubFiles) { 
      jList1Model.addElement(file.getAbsolutePath()); 
     } 
    } 

Что я делаю неправильно (игнорируемых MouseEntered событие, я меняет его)? Он ничего не обновляет, когда я наводил курсор на активный список.

+1

Можете ли вы рассказать о том, как ваш код «не работает»? Что вы ожидали, и что на самом деле произошло? Если вы получили исключение, опубликуйте строку, в которой она произошла, и сведения об исключении. Пожалуйста, отредактируйте эти данные или мы не сможем помочь. – gla3dr

+1

Что не работает? Исключение? никаких изменений на экране? (вы перерисовали/аннулировали контент, чтобы вызвать обновление пользовательского интерфейса?) – showp1984

+0

О, извините. На экране нет изменений. Да, я пробовал использовать функцию revalidate(). – WhilseySoon

ответ

1

, потому что это дает мне исключение javax.swing.JList $ 3 не может быть приведен к javax.swing.DefaultListModel

Не кажется ли вам, что была важная часть недостающей информации от вопроса?

Так в основном это означает, что вам нужно создать свой JList с кодом, как:

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

Теперь вы можете динамически попытаться добавить данные в модель.

Смежные вопросы