Alguem pode me ajudar ?
To fazendo um negocio bem bestinha mas engasguei num negocio.
:arrow:Tenho uma classe chamada MPrincipal onde estão meus JTextField.
:arrow:Tenho outra classe chamada BuscarNome onde faço o acesso ao BD.
A situação é o seguinte: Qdo clico no botão Search para ele buscar no BD e trazer para meus JTextField não aparece nada neles.
Porque será ? será q não estou sabendo instanciar esses objetos, pois se ao invés d eu usar a classe BuscarNome … criar um método dentro de MPrincipal, tudo funciona …
Classe MPrincipal
package fabiano.com;
import java.awt.Rectangle;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.JLabel;
public class MPrincipal {
public JTextField getJtfName() {
if (jtfName == null) {
jtfName = new JTextField();
jtfName.setBounds(new Rectangle(101, 62, 144, 20));
}
return jtfName;
}
public JTextField getJtfLastName() {
if (jtfLastName == null) {
jtfLastName = new JTextField();
jtfLastName.setBounds(new Rectangle(100, 92, 144, 20));
}
return jtfLastName;
}
private JButton getJbtExecutar() {
if (jbtExecutar == null) {
jbtExecutar = new JButton();
jbtExecutar.setBounds(new Rectangle(156, 131, 85, 26));
jbtExecutar.setText("Search");
jbtExecutar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
BuscarNome nome = new BucarNome();
nome.start();
}
});
}
return jbtExecutar;
}
Classe BuscarNome
package fabiano.com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class BuscarNome extends Thread{
private Connection con = null;
private MPrincipal jtf;
BuscarNome(){
try{
Class.forName("org.firebirdsql.jdbc.FBDriver");
con = DriverManager.getConnection("jdbc:firebirdsql:localhost/3050:C:/DATABASE.GDB","SYSDBA","masterkey");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT NAME, LASTNAME " +
"FROM USER " +
"WHERE NAME = 'User' AND LASTNAME = 'User'");
while(rs.next()){
jtf.getJtfName().setText(rs.getString(1));
jtf.getJtfLastName().setText(rs.getString(2));
System.out.println("Acessado no Banco " + rs.getString(1));
System.out.println("Acessado no Banco " + rs.getString(2));
}
rs.close();
con.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
Será q alguem pode dar uma luz ?
