Bom dia,
Estava tentando chegar no mesmo resultado que o ViniGodoy mostrou neste tutorial http://www.guj.com.br/java/235333-meu-primeiro-tutorial-passando-valores-para-outro-jframe
Porém não estou conseguindo introduzir o código que ele criou.
Segue problema:
Tenho duas janelas, a primeira se chama exibir e a segunda atualizar, a janela “exibir” exibi informações de um banco, quando o cliente clicar no botão atualizar ele abre o segundo formulario e exibi as informações em textfield para que o usuário final possa atualizar.
No link acima ViniGodoy mostra uma solução usando interface e o listener porém na minha classe principal que o atualizar já possui um extends javax.swing.JFrame e parei exatamente ai onde não consigo extender para a instancia criada.
segue código na janela exibir (quem irá receber o valor):
// código do ViniGodoy
[code]public interface JanelaSecundaria {
void textoDefinido(String texto);
}
//criei a instancia listener
private JanelaSecundaria listener = null;
//metodo que ira definir o listener
public void setListener (JanelaSecundaria listener) {
this.listener = listener;
}[/code]
// mesma janela mas agora uso o metodo textoDefinido para receber o valor do meu banco atravez de um combobox
[code]private void jComboBox1ItemStateChanged(java.awt.event.ItemEvent evt) {
Atualizar at = new Atualizar();
conexao cn = new conexao();
cn.conectar();
if(evt.getStateChange() == ItemEvent.SELECTED){
String ValorCombo = (String)jComboBox1.getSelectedItem();
ResultSet rs = null;
try {
cn.instrucao = cn.conexao.createStatement();
rs = cn.instrucao.executeQuery( "Select * from registro where Cliente = '"+ValorCombo+"'" );
while(rs.next())
{
lbNome.setText(rs.getString("Cliente"));
lbTHoras.setText(rs.getString("total_horas"));
lbHU.setText(rs.getString("horas_usadas"));
lbObs.setText(rs.getString("obs"));
}
/*
Metodo usado aqui abaixo
*/
listener.textoDefinido(ValorCombo);
rs.close();
} catch (SQLException ex) {
Logger.getLogger(Exibir.class.getName()).log(Level.SEVERE, null, ex);
}
}else{
//não fazer nada
}
} [/code]
//Janela Atualizar (que recebe os dados)
// parei exatamente aqui, não consigo inserir o código restante do Godoy pois a minha classe Atualizar está extendida pois utilizei o swing para criação
// e não sei como indroduzir o código
// usei um evento formWindowOpened para ajudar no recebimento dos valores
// não coloquei todo o código pois isso é gerado pelo swing
public class Atualizar extends javax.swing.JFrame {
/** Creates new form Atualizar */
public Atualizar () {
initComponents();
}
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// usei um windowOpened para ajudar no recebimento
}