Как обновить компонент фрэйма (JLabel) - Java

Узнай цену своей работы

Формулировка задачи:

Ребят, не знаю, задавали ли вопрос, не увидел на первых страницах. Вопрос очень простой. Вот код:
public static void main(String[] args) {
        JLabel frameText = new JLabel();
        JTextField playerText = new JTextField(20);
        JFrame frame = new JFrame("Выживший");
        String actualText = null;
 
        frame.setSize(700, 500);
        frame.setUndecorated(false);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setResizable(false);
        frame.setLocation(350, 100);
        frame.add(frameText);
        frame.add(playerText);
 
        actualText = "Это текст окна";
        frameText.setText(actualText);
    }
Собственно, ожидалось, что мой frameText будет отображать текст, но изначально создаваемый (добавленный) во фрейм лэйбл без текста, а при изменении содержимого отображение этого обновления нет. А вот и вопрос. Как обновить лэйбл или фрэйм или хоть что-то, чтобы отобразился новый текст или изменённый позже? Пробовал frameText.repaint ...validate ...invalidate ...updateUI и т. д. Ничего не работает, не помогает. По поводу варианта повторить frame.add(frameText) не знаю, мне он кажется не корректным.

Решение задачи: «Как обновить компонент фрэйма (JLabel)»

textual
Листинг программы
JLabel a=new JLabel("<html>Тут находится очень длинный текст,который не вмещается во фрейм</html>");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5