Tenho uma classe pesquisar cliente, ela esta pesquisando dereitinho, mais na hora de chamar a outra tela para fazer a alteração, da o seguinte erro java.lang.NullPointerException
[code]public class sai extends javax.swing.JDialog {
private JTextField txtpesq;
private JScrollPane jScrollPane1;
private JTable tbp;
ResultSet rs;
DefaultTableModel jTable1Model = new DefaultTableModel();
Object[]data;
public static String nomeCidade;
Said saida;
/**
* Auto-generated main method to display this JDialog
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame();
sai inst = new sai(frame);
inst.setVisible(true);
}
});
}
public sai(JFrame frame) {
super(frame);
initGUI();
dadostable();
}
private void initGUI() {
try {
GroupLayout thisLayout = new GroupLayout((JComponent)getContentPane());
getContentPane().setLayout(thisLayout);
{
txtpesq = new JTextField();
}
{
jScrollPane1 = new JScrollPane();
{
TableModel tbpModel =
new DefaultTableModel(
new String[][] { { "One", "Two" }, { "Three", "Four" } },
new String[] { "Column 1", "Column 2" });
tbp = new JTable();
jScrollPane1.setViewportView(tbp);
tbp.setModel(tbpModel);
tbp.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent evt) {
tbpMouseClicked(evt);
}
});
}
}
thisLayout.setVerticalGroup(thisLayout.createSequentialGroup()
.addContainerGap(19, 19)
.addComponent(txtpesq, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
.addGap(41)
.addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 123, GroupLayout.PREFERRED_SIZE)
.addContainerGap(56, Short.MAX_VALUE));
thisLayout.setHorizontalGroup(thisLayout.createSequentialGroup()
.addContainerGap()
.addGroup(thisLayout.createParallelGroup()
.addGroup(GroupLayout.Alignment.LEADING, thisLayout.createSequentialGroup()
.addComponent(txtpesq, GroupLayout.PREFERRED_SIZE, 62, GroupLayout.PREFERRED_SIZE)
.addGap(0, 260, Short.MAX_VALUE))
.addGroup(GroupLayout.Alignment.LEADING, thisLayout.createSequentialGroup()
.addGap(33)
.addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 289, GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap(50, 50));
setSize(400, 300);
} catch (Exception e) {
e.printStackTrace();
}
}
public void PreenchejTable1(String Sql)throws SQLException{// prenche a tabela com as informações do banco de dados, dentro do parentese é um parametro
rs=ConexaoBD.getConexao().executeQuery(Sql);// rs é o resultset ele manipula o resultado no banco de dados e o execute query busca no banco de dados e update atualiza o banco de dados
jTable1Model=(DefaultTableModel)tbp.getModel();//o model q manipula a tabela
jTable1Model.setNumRows(0);
try{
while(rs.next()){// ele vai rodar o while ate achar resultado
jTable1Model.addRow(new Object[]{rs.getString("nome"),rs.getString("rua"),}); //object manipula resultados
}
}
catch (SQLException erro){
JOptionPane.showMessageDialog(null, "erro ao listar na tabela !");
}
}
public void dadostable(){
String Sql="Select * from Cliente";
try{
rs=ConexaoBD.getConexao().executeQuery(Sql);
rs.first();
PreenchejTable1(Sql);
}
catch (SQLException ex){
JOptionPane.showMessageDialog(null, "erro ao obter proxima cidade !");
}
}
private void pesquisar(){
String sql="";
if (txtpesq.getText().length()>0){//vai trazer tudo do banco e vai ordenar por nome
sql="select * from CLIENTE where upper(NOME) like upper ('"+txtpesq.getText()+"%')order by NOME";
try {
rs=ConexaoBD.getConexao().executeQuery(sql);//busca no banco os dados
}
catch (SQLException el ){
el.printStackTrace();
}
try {
if (rs.next()){
PreenchejTable1(sql);
}else{
LimpaPesquisa();
}
}
catch (SQLException e){
LimpaPesquisa();
}
}
else{
LimpaPesquisa();
} }
private void LimpaPesquisa(){
jTable1Model.setNumRows(0);
}
public void pegaValor(){
int row;
int col = 0;
try {
row= tbp.getSelectedRow();
if (row >= 0){
Object data=jTable1Model.getValueAt(row, col);
nomeCidade=data.toString();
String SQL= "select *from CLIENTE where NOME = '"+nomeCidade+"' " ;
try {
rs=ConexaoBD.getConexao().executeQuery(SQL);
if(rs.first())
{
Said.txtnome.setText(rs.getString("NOME"));
Said.txtrua.setText(rs.getString("NOME"));
rs.close();
dispose();
}
else{
JOptionPane.showMessageDialog(null, "Dados incorretos");
}
}
catch (RuntimeException e){
e.printStackTrace();
}
}
}
catch (Exception e) {
nomeCidade ="";
}
}
private void tbpMouseClicked(MouseEvent evt) {
pegaValor();
}
}
[/code]