Exibindo NULL

Olá;

Tenho um formulário de cadastro com Código, Nome e Telefone e um botão chamado Exibir mas quando entro com os dados nos TextFields e clico no botão Exibir, a saída dos dados está sendo Null. Vejam parte do código.

public class Fornec extends javax.swing.JFrame {
private String Codigo;

/** Creates new form Fornec */
public Fornec() {
    initComponents();
}

private void initComponents() {
    jPanel1 = new javax.swing.JPanel();
    EdCodigo = new javax.swing.JTextField();
    BExibir = new javax.swing.JButton();

    EdCodigo.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            EdCodigoActionPerformed(evt);
        }
    });

    jPanel1.add(EdCodigo);
    EdCodigo.setBounds(10, 40, 240, 20);

    });

    BExibir.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            BExibirActionPerformed(evt);
        }
    });

    getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);

    setBounds(100, 120, 408, 288);
}

private void EdCodigoActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    Codigo = evt.getActionCommand();
}

private void BExibirActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    System.out.println(Codigo);
}

/**
 * @param args the command line arguments
*/
public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new Fornec().setVisible(true);
        }
    });
}

// Variables declaration - do not modify
private javax.swing.JButton BExibir;
private javax.swing.JTextField EdCodigo;
private javax.swing.JPanel jPanel1;
// End of variables declaration

}

Valeu.

O ActionPerformed de um JTextField é acionado quando a tecla “enter” é pressionada, e não quando algum texto é digitado.

Mudar a linha da ação do botão para:

System.out.println( EdCodigo.getText() );

Resolve esse probleminha.

Alguns apontamentos:

  • quando for postar código, coloque-o entre as tags [ code]seucodigo[ /code], assim ele fica endentado
  • siga pelo menos os padrões de neomenclatura em Java, torna seu código muito mais legível
    http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
  • aconselho fortemente a estudar mais as bases do Java antes de se enveredar pelos obscuros caminhos do Swing

Lipe;

Conforme mencionado, funcionou mas a questão é a seguinte como vou saber se o conteúdo dos JTextFields foram enviados para as variáveis de instânica por isso o System.out.println foi nas variávies poid pelo que entedi da sua resposta, está sendo exibido o contéudo do JTextField Certo ?

Valeu pelas dicas.

Obrigado.

Se você precisa fazer desta forma, procure por KeyListeners

A questão não que tenho que fazer assim como estou começando, me ocorreu fazer dessa forma pois em qualquer outra linguagem, essa esria a maneira natural.

Valeu.

hum, você quer que quando uma tecla seja seja pressionado, aquele método seja chamado, certo? Então quer tratar o evento de tecla pressionada!

Então use keylisteners.

Não sei quais todas outras linguagens não é natural usar um KeyListener para ouvir eventos de teclado @.@