2015-02-13 2 views
0

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

public static void changeJLabel(JPanel panelName, JLabel JLabel, String newText) 
{ 
    panelName.remove(JLabel); 
    JLabel = new JLabel(newText); 
    panelName.add(JLabel); 
    panelName.validate(); 
    panelName.repaint(); 
} 

Я установил это на кнопку в графическом интерфейсе, и результаты приведены в следующих ссылках. Перед нажатием кнопки: http://prntscr.com/64gnwl Однократное нажатие: http://prntscr.com/64gnzj Изменено как ожидалось. Удар его много раз: http://prntscr.com/64go2u Не так, как ожидалось. Я предполагаю, что он не удаляет JLabel перед добавлением другого, но я не уверен, почему. Если вам нужен мой весь код, я также добавлю это.

+0

Почему вы хотите удалить ярлык, если вы можете просто изменить текст старого? – Arvind

+0

Когда я менял текст, это не изменилось в графическом интерфейсе. Возможно, я тоже что-то делал неправильно. EDIT: Я действительно не узнал о .setText(). Я поражен тем, что это никогда не возникало в моем множестве поисков. – Makaires

+0

try panelName.revalidate(); вместо panelName.validate(), но почему вам нужно удалить JLabel, когда вам нужно только изменить текст? – sasankad

ответ

0

JLabel.setText(); работает для того, чего я хотел. Я учусь, когда я ухожу, и не видел этого метода раньше ни в одном из моих поисков. Не знаю, как я это пропустил, но это прекрасно работает.

public static void changeJLabel(JPanel panelName, JLabel JLabel, String newText) 
{ 
    JLabel.setText(newText); 
    panelName.validate(); 
    panelName.repaint(); 
} 
+0

Это не ответ, вам следует либо обновить свой вопрос, либо оставить комментарий – MadProgrammer

+0

@MadProgrammer кажется мне законным ответом. ОП ответил на свой вопрос, что вполне приемлемо. –

+0

@ IngoBürk 'panelName' является' JPanel' и не имеет метода 'setText' – MadProgrammer

Смежные вопросы