Я создаю JTree и модель для него в классе, отдельном от класса GUI. Данные для JTree извлекаются из файла.
Теперь в классе GUI пользователь может добавлять файлы из файловой системы в список AWT. После того, как пользователь щелкнет файл в списке, я хочу обновить JTree. Имя переменной для JTree - schemaTree.
У меня есть следующий код для выбора элемента в списке:
private void schemaListItemStateChanged(java.awt.event.ItemEvent evt) {
int selection = schemaList.getSelectedIndex();
File selectedFile = schemas.get(selection);
long fileSize = selectedFile.length();
fileInfoLabel.setText("Size: " + fileSize + " bytes");
schemaParser = new XSDParser(selectedFile.getAbsolutePath());
TreeModel model = schemaParser.generateTreeModel();
schemaTree.setModel(model);
}
Я обновил код, чтобы он соответствовал принятому ответу. JTree теперь корректно обновляется в зависимости от того, какой файл я выбрал в списке.