Я пытаюсь обновить JLabel с помощью метода setText(). Но я не могу перерисовать JLabel. Должен ли я использовать метод repaint() для этого? Я искал каждый форум, но я не могу найти решение.JLabel setText не работает
Вот часть кода. Я не получаю никаких ошибок, но это не обновление JLabel.
public void actionPerformed(ActionEvent e) {
fc = new JFileChooser();
if(e.getSource() == addButton) {
int returnVal = fc.showOpenDialog(Main.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
filesList = fc.getSelectedFiles();
setFilesList(filesList);
StringBuilder logString = new StringBuilder();
logString.append("Files to Convert " + "\n");
for(int i = 0; i < getFiles().length; i++) {
logString.append(filesList[i].getAbsolutePath());
}
//JLabel log = new JLabel(); created above.
log.setText(logString.toString());
} else {
//log.append("Open command cancelled by user." + newline);
}
//log.setCaretPosition(log.getDocument().getLength());
}
}
Я бы сказал, что jLabel не может отображать символ новой строки. Оберните его в и используйте теги
. – MarioDS
Вы уверены, что не переустанавливаете переменную 'log' в новый экземпляр' JLabel' * после того, как вы добавили его в свой менеджер компоновки? – Danish
Да, на самом деле я проиндексировал его с помощью конструктора. – Isuru