Senhores,
Tenho um JScrollPanel que possui um JPanel ao qual insiro vários JLabel…
Estes JLabel são inseridos e retirado pelo usuário do sistema, sendo que também pode ocorrer um update neste JLabel (o updata ocorre quando troco o icone associado a este JLabel por outro) e é justamente neste update que estou apanhando.
Guardo as referencias para estes JLabel em uma classe e quando chamo o meu método de update graças a ocorrência de um determinado evento, não consigo visualizar a mudança desejada na GUI.
Antes de mais nada: sim, estou guardando a referencia correta e o processo de trocar o icone está certinho também; o que está faltando é conseguir jogar o dado que chega corretamente na interface!!!
Aí vai o código:
public JLabel addIconeScrollRml(String nrRml, String icone) {
jLabelRml = new javax.swing.JLabel();
jLabelRml.setFont(new Font("Default", Font.BOLD, 14));
this.setEstadoRamal(jLabelRml, icone);
jLabelRml.setText(nrRml);
jLabelRml.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
jLabelRml.setIconTextGap(5);
jLabelRml.setInheritsPopupMenu(false);
jLabelRml.setVerticalTextPosition(javax.swing.SwingConstants.TOP);
PanelRamais.add(jLabelRml);
ScrollRamais.setViewportView(PanelRamais);
return jLabelRml;
}
Acima é o método que adiciona JLabel para serem demonstradas na GUI, retornando a referencia deste objeto. Isto está OK, funcionando belezinha!!!
public void setEstadoRamal(JLabel jLabelRml, String icone){
jLabelRml.setIcon(new ImageIcon(icone));
ScrollRamais.setViewportView(jLabelRml);
}
E este é o método chamado para atualizar a GUI quando desejo mudar o ícone do JLabel passado por parametro…
Pergunto aos senhores, o que deveo fazer para funcionar?
Obrigado!!!