Atualizando JPanel

Bom galera, to fazendo um chat. E na tela aonde aparece as mensagens estou usando um jpanel.

private void jbEnviarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: JLabel jlNick = new JLabel(); jlNick.setText(nick + ":"); jlNick.setForeground(Color.RED); this.jpChat.add(jlNick); this.jpChat.add(new JLabel(this.jtaEnviar.getText())); this.jtaEnviar.setText(""); }

A partir do evento do botão enviar gostaria que na tela mostrasse o meu nick (jlabel) em vermelho e o texto da mensagem. Só que qdo executo o evento a tela não mostra. Já tentei repaint, e outros metódos. Gostaria de uma ajuda. Grato!

Qual gerenciador de layout vc está usando?

Pq vc não usa um JTextPane ao invés de ficar adicionando diversos componentes ao Panel?

Leia o Javadoc do JPanel. Lá diz que você tem que chamar o método revalidate() (se eu não me engano) sempre que adiciona um componente a um painel já desenhado.

Tentou fazer updateUI() no label ou no panel também??

[quote=ViniGodoy]Qual gerenciador de layout vc está usando?

Pq vc não usa um JTextPane ao invés de ficar adicionando diversos componentes ao Panel?

Leia o Javadoc do JPanel. Lá diz que você tem que chamar o método revalidate() (se eu não me engano) sempre que adiciona um componente a um painel já desenhado.[/quote]

o revalidate não funcionou. vou tentar o JtextPane, mas ele me fornece a opção de incluir label?

to usando o netbeans.

Ok… mas e que layout manager?

GridBagLayout? FlowLayout? CardLayout? BoxLayout? SpringLayout?

[quote=ViniGodoy]Qual gerenciador de layout vc está usando?

Pq vc não usa um JTextPane ao invés de ficar adicionando diversos componentes ao Panel?

Leia o Javadoc do JPanel. Lá diz que você tem que chamar o método revalidate() (se eu não me engano) sempre que adiciona um componente a um painel já desenhado.[/quote]

Bom troquei para o jtextpane, o problema é:

Eu to fazendo um chat. Gostaria de que o Text pane fosse salvo todas as informações anteriores.

E que os nicks aparecessem de uma cor determinada. E só consigo fazer isso com o jlabel. Fico no aguardo.

Ok… mas e que layout manager?

GridBagLayout? FlowLayout? CardLayout? BoxLayout? SpringLayout?[/quote]

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

esse jpanel ta dentro de um scrool panel.

Concordo com o ViniGodoy, acho que um JTextPane seria melhor no seu caso.

Mas respondendo a sua duvida, se o panel.validade() não está funcionando, tente o panel.updateUI();

[]´s