JDialog para que eu possa fazer uma pequena alteração

Bem, eu quero pesquisar algo no banco de dados, o código funciona, mas agora eu resolvi fazer um JDialog para que a pessoa decidisse pesquisar pelo Código, RG ou CPF, dentro do JDialog tem uma combo box e um campo de texto para isso.
Eu quero puxar os valores que a pessoa digitar na JDialog para o programa normal e assim realizar minha pesquisa, mas como eu faço isso?
Segue o código:

[code]private void btnPesquisarFuncMouseClicked(java.awt.event.MouseEvent evt) {
PesquisaDiag.setVisible(true);
try {
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
String banco = “testetcc”; //Nome do Banco criado
String host = “localhost”; //Maquina onde está o banco
String str_conn = “jdbc:mysql://” + host + “:3306/” + banco; //URL de conexão
String usuario = “root”; //Usuário do banco
String senha = “”; //Senha de conexão
Statement stmt = null; //Inicializa Statement
Connection conn = null; //Inicializa Connection
conn = DriverManager.getConnection(str_conn, usuario, senha);
stmt = conn.createStatement();
String sql = “SELECT * FROM funcionario WHERE ? = ?”;
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, campo); //Aqui vem o valor do combo box
pstmt.setString(2, dado); //Aqui vem o valor do campo de texto
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
txtCodFunc.setText(rs.getString(“Cod_Funcionario”));
txtNomeFunc.setText(rs.getString(“Nome”));
txtEnderecoFunc.setText(rs.getString(“Endereco”));
txtCEPFunc.setText(rs.getString(“CEP”));
txtBairroFunc.setText(rs.getString(“Bairro”));
txtCidadeFunc.setText(rs.getString(“Cidade”));
cmbEstadoFunc.setSelectedItem(rs.getString(“Estado”));
txtNaturalFunc.setText(rs.getString(“Cidade_Natu”));
cmbEstadoNascFunc.setSelectedItem(rs.getString(“Estado_Natu”));
txtTelefoneFunc.setText(rs.getString(“Tel”));
txtCelularFunc.setText(rs.getString(“Tel_Cel”));
txtRGFunc.setText(rs.getString(“RG”));
txtCPFFunc.setText(rs.getString(“CPF”));
txtCargoFunc.setText(rs.getString(“Funcao”));
txtEmailFunc.setText(rs.getString(“E_Mail”));
txtpaneHistFunc.setText(rs.getString(“Historico”));
}
pstmt.close();
stmt.close();
conn.close();
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, “Erro (” + ex + “) ao conectar ao banco de dados, entre em contato com o Administrador!”);
}
}

private void jButton31MouseClicked(java.awt.event.MouseEvent evt) { //Botão dentro do Dialog
    campo = cmbCampo.getSelectedItem().toString(); //Variável do combo box onde tem os campos que podem ser pesquisados
    dado = txtDado.getText(); //Variável onde vai o que deve ser pesquisado
    PesquisaDiag.dispose();
}[/code]

Obrigado, qualquer coisa é só falar!

http://www.guj.com.br/posts/list/55710.java#292687

Li esse tópico mas agora aparece erro nas linhas:

private void jButton31MouseClicked(java.awt.event.MouseEvent evt) { public String getDado(){ return txtDado.getText(); } public String getCampo(){ return cmbCampo.getSelectedItem().toString(); } PesquisaDiag.setVisible(false); }
Esse é o código do botão e onde aparece o erro:
“Illegal start of expression”
Esse erro aparece nas linhas “public String…”, em ambas, e se eu removo isso ele funciona normalmente (não aparece erros e não faz o que eu quero, mas funciona).
Como faz :?:

Ué… vc tá colocando um método dentro de outro método? Aí não funciona mesmo.

[code]public String getDado(){
return txtDado.getText();
}

public String getCampo(){
return cmbCampo.getSelectedItem().toString();
}

private void jButton31MouseClicked(java.awt.event.MouseEvent evt) {
PesquisaDiag.setVisible(false);
}[/code]

Agora o erro é estranho:

private void btnPesquisarFuncMouseClicked(java.awt.event.MouseEvent evt) { PesquisaDiag.setVisible(true); try { DriverManager.registerDriver(new com.mysql.jdbc.Driver()); String banco = "testetcc"; //Nome do Banco criado String host = "localhost"; //Maquina onde está o banco String str_conn = "jdbc:mysql://" + host + ":3306/" + banco; //URL de conexão String usuario = "root"; //Usuário do banco String senha = ""; //Senha de conexão Statement stmt = null; //Inicializa Statement Connection conn = null; //Inicializa Connection conn = DriverManager.getConnection(str_conn, usuario, senha); stmt = conn.createStatement(); String sql = "SELECT * FROM funcionario WHERE ? = ?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, PesquisaDiag.getCampo()); pstmt.setString(2, PesquisaDiag.getDado()); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { txtCodFunc.setText(rs.getString("Cod_Funcionario")); txtNomeFunc.setText(rs.getString("Nome")); txtEnderecoFunc.setText(rs.getString("Endereco")); txtCEPFunc.setText(rs.getString("CEP")); txtBairroFunc.setText(rs.getString("Bairro")); txtCidadeFunc.setText(rs.getString("Cidade")); cmbEstadoFunc.setSelectedItem(rs.getString("Estado")); txtNaturalFunc.setText(rs.getString("Cidade_Natu")); cmbEstadoNascFunc.setSelectedItem(rs.getString("Estado_Natu")); txtTelefoneFunc.setText(rs.getString("Tel")); txtCelularFunc.setText(rs.getString("Tel_Cel")); txtRGFunc.setText(rs.getString("RG")); txtCPFFunc.setText(rs.getString("CPF")); txtCargoFunc.setText(rs.getString("Funcao")); txtEmailFunc.setText(rs.getString("E_Mail")); txtpaneHistFunc.setText(rs.getString("Historico")); } pstmt.close(); stmt.close(); conn.close(); } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Erro (" + ex + ") ao conectar ao banco de dados, entre em contato com o Administrador!"); } }

[code]public String getCampo(){
return cmbCampo.getSelectedItem().toString();
}

public String getDado(){
    return txtDado.getText();
}[/code]

Meus métodos existem, mas na linha onde eu faço referência a eles: “pstmt.setString(1, PesquisaDiag.getCampo());” e “pstmt.setString(2, PesquisaDiag.getDado());” está dando erro dizendo que não foi achado o método.
O que fazer :?:

Obs: Passou desapercebido colocar um método dentro do outro :oops:

Verifique se você não colocou os métodos dentro do Listener por acidente ao invés de dentro do dialog.
As vezes isso acontece.

Desculpe, mas meu código foi feito no NetBeans e é meio automático, eu não fiz uma classe nova chamada “PesquisaDiag” ele é um JDialog que fica dentro do arquivo que eu já tenho, e o jeito que o NetBeans usa para instanciar objetos é extremamente estranho. Eu não tenho algo como “public void PesquisaDiag extends JDialog” então onde eu colocaria esses métodos?

Ainda não consegui, alguém pode me dar uma luz?