Здравствуйте. Столкнулся с такой проблемой, у меня при инитиализации приложения создается DocumentListener, который отвечает за подсветку синтаксика, но после того как я загружаю другой документ с помощью:
private void readInFile(String fileName) {
try {
FileReader r = new FileReader(fileName);
textArea.read(r,null);
r.close();
currentFile = fileName;
frame.setTitle(currentFile);
changed = false;
}
catch(IOException e) {
Toolkit.getDefaultToolkit().beep();
JOptionPane.showMessageDialog(textArea, "Editor can't find the file called "+fileName);
}
}
Подсветка работать перестает. Попробовал вынести создание в отдельный метод:
private void setDocumentListener() {
textArea.getDocument().addDocumentListener(new DocumentListener() {
//Здесь код
}
}
Прописал вызов в инитиализацию и в метод readInFile чтоб он вызывался повторно при загрузке нового документа, но это не сработало. Он так же работает только до первой загрузки нового документа. Подскажите в чем может быть причина и что я не так делаю?
Спасибо Mikhail Vaysman за комментарий, этот вопрос навел меня на ответ. Я вызывал setDocumentListener() в самом методе readInFile() и он не работал, а после того как добавил его в метод где вызывался readInFile(), все прекрасно заработало. Вопрос закрыт.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости