Обновить данные в JLabel — Java SWING

#java #swing #jframe #refresh #jlabel

#java #swing #jframe #обновить #jlabel

Вопрос:

Я пытаюсь обновить свои данные в тексте JLabel. Мои данные в «mod.getAllPlaneteByUser (u).getQte_or ()» получают данные из моей базы данных.

Компонент «lblRefresh» — это просто прослушиватель JLabel.

—> Инициализация :

 JLabel lblRessOr = new JLabel();
lblRessOr.setText(Integer.toString(mod.getAllPlaneteByUser(u).getQte_or()));
 

—> Добавить по умолчанию в мою панель содержимого :

 lblRessOr.setForeground(Color.RED);
lblRessOr.setFont(new Font("Lucida Grande", Font.BOLD, 16));
lblRessOr.setBounds(225, 141, 73, 16);
contentPane.add(lblRessOr);
 

—> Использовать в моем MouseListener :

 if(e.getSource() == lblRefresh){
     lblRefresh.setText(Integer.toString(mod.getAllPlaneteByUser(u).getQte_or()));
     lblRefresh.repaint();
}
 

Кто-нибудь знает, как я могу обновить свои данные?

Комментарии:

1. Похоже, вам нужно перерисовать весь фрейм, а не только метку.

2. Я попытался перерисовать весь фрейм, но безрезультатно.

3. Вы хотите обновить данные, как только кто-то что-то напишет в ярлыке??

4. Я получаю данные из MySQL и хотел бы обновить с помощью кнопки мою JLabel, но я выбираю старый результат моего запроса. Я хотел бы получить новые данные.

Ответ №1:

Если вы пытаетесь изменить текст в Jlabel lblRessOr, вы должны поместить приведенный ниже код в свой блок прослушивателя.

 if(e.getSource().equals(lblRefresh)){
    lblRessOr.setText(Integer.toString(mod.getAllPlaneteByUser(u).getQte_or()));
}
 

Комментарии:

1. Да, я делаю это, и результата нет, текст, помещенный в мой «lblRessOr», не отображается в моем JFrame.