Ajuda com Formulario

4 respostas
E

Sou novo com Java

Estou fazendo alguns teste de comunicacação swing com bd
tenho tres classe
Classe conexao responsavel por conecta com meu bd mysql
Classe selecionar onde criei o formulario padrão
Classe cliente onde faco algumas alterações para poder chamar o formulario principal

As classes são essas:

Classe conexao
##########

import java.sql.*; 
import javax.swing.*; 
public class conexao 
{ 
String driver = "org.gjt.mm.mysql.Driver"; 
String url = "jdbc:mysql://localhost/aulajava"; 
String usuario = "root"; 
String senha = "everton"; 
Connection conexao; 
Statement stmt; 
ResultSet res; 
public void conecta() 
{ 

try 
{ 
Class.forName(driver); 
conexao = DriverManager.getConnection(url, usuario, senha); 
JOptionPane.showMessageDialog(null,"Conectou com MySQL"); 

} 
catch(ClassNotFoundException Driver) 
{ 
JOptionPane.showMessageDialog(null,"Driver não localizado: "+Driver); 
} 
catch(SQLException Fonte) 
{ 
JOptionPane.showMessageDialog(null,"Deu erro na conexão "+ 
"com a fonte de dados: "+Fonte); 
} 

} 
//rotina de Pesquisa 
public void executeSql(String sql) 
{ 
try 
{ 
stmt = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, 
ResultSet.CONCUR_READ_ONLY); 
res = stmt.executeQuery(sql); 
JOptionPane.showMessageDialog(null,"Deu Certo a Pesquisa"); 
} 
catch(SQLException sqlex) 
{ 
JOptionPane.showMessageDialog(null,"Nao executou sql");	
} 

} 
}

Classe selecionar
###########

import javax.swing.*; 
import javax.swing.table.DefaultTableModel; 

import com.sun.corba.se.impl.encoding.CodeSetConversion.BTCConverter; 

import java.awt.*; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.awt.event.FocusEvent; 
import java.awt.event.FocusListener; 
import java.awt.event.ItemEvent; 
import java.awt.event.ItemListener; 
import java.sql.SQLException; 

public class selecionar extends JFrame implements ActionListener 
{ 
conexao obj_con = new conexao(); 
JLabel lb_titulo; 
JButton bt_cad; 

JTextField tf_texto1; 
JTextField tf_texto2; 
JTextField tf_texto3; 

JTable tabela; 

public selecionar() 
{ 
setTitle("Inserir com Everton"); 
setSize(500, 500); 
setResizable(true); 
setLocation(50,50); 
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
getContentPane().setLayout(null); 


bt_cad = new JButton("Cadastrar"); 

lb_titulo =new JLabel(); 

tf_texto1 = new JTextField(); 
tf_texto2 = new JTextField(); 
tf_texto3 = new JTextField(); 
tabela = new JTable(); 
tabela.setModel(new DefaultTableModel( 
new Object[][] 
{ 
{null, null}, 
{null, null}, 
{null, null}, 
{null, null} 
}, 
new String[]{"Codigo","Nome"} 
)); 

bt_cad.setBounds(100,50,100,50); 


tf_texto1.setBounds(20,50,60,50); 
tf_texto2.setBounds(20,100,60,50); 
tf_texto3.setBounds(20,150,60,50); 
tabela.setBounds(20,200,600,80); 
lb_titulo.setBounds(20,10,500,50); 

//sempre registrar os itens para os bootes 
bt_cad.addActionListener(this); 


getContentPane().add(bt_cad); 

getContentPane().add(lb_titulo); 
getContentPane().add(tf_texto1); 
getContentPane().add(tf_texto2); 
getContentPane().add(tf_texto3); 
getContentPane().add(tabela); 

obj_con.conecta(); 

} 
public static void main(String[] args) 
{ 
JFrame obj_form = new selecionar(); 
obj_form.show(); 
} 
public void actionPerformed(ActionEvent e) 
{ 
if(e.getSource() == bt_cad) 
{ 
JOptionPane.showMessageDialog(null,"Soma Realizada"); 
double num1 = Double.parseDouble(tf_texto1.getText()); 
double num2 = Double.parseDouble(tf_texto2.getText()); 
double res = num1+num2; 
//tf_texto3.setText(String.valueOf(res)); 
tf_texto3.setText(""+(res)); 
} 

} 

public void mostrar_dados() 
{ 
try 
{ 
tf_texto1.setText(obj_con.res.getString("codigo")); 
tf_texto2.setText(obj_con.res.getString("nome")); 
JOptionPane.showMessageDialog(null,"Mostrou Dados"); 
} 
catch(SQLException erro) 
{ 
JOptionPane.showMessageDialog(null,"Não Localizou Dados"+erro);	
} 
} 
public void inicializacao(String tabela) 
{ 
obj_con.executeSql("select * from"+tabela); 
try 
{ 
obj_con.res.first(); 
mostrar_dados(); 

} 
catch(SQLException erro) 
{ 
JOptionPane.showMessageDialog(null,"Não Localizou "+tabela+" o erro é "+erro);	
} 

} 
}

Classe cliente
#########

public class cliente extends selecionar 
{ 
//selecionar obj_sel = new selecionar(); 

cliente() 
{ 
setTitle("Cadastro Clientes"); 
lb_titulo.setText("Cadastro Clientes"); 
super.inicializacao("everton"); 
//obj_sel.inicializacao("bairro"); 
} 
public static void main(String[] args) 
{ 
selecionar obj_cliente = new cliente(); 
obj_cliente.setVisible(true); 
} 

}

Quero que esta cliente chame uma tabela que passa para o formulario e coloque os dados nos JtextFied só que quando compilo o eclipse mostra a seguinte mesagem

Exception in thread main java.lang.NullPointerException

at selecionar.inicializacao(selecionar.java:117)

at cliente.(cliente.java:10)

at cliente.main(cliente.java:15)

Alguem poderia me ajudar por favor

4 Respostas

Anime

Oiiii,

Você criou dois tópicos… :roll:

Cadê o construtor da classe cliente… :wink:

E

entao o metodo construtor esta na classe selecionar eu uso a classe cliente para setar o titulo e label mas para passar o nome da tabela e os campos mas nao funciona

Anime

Oi evertonjose,

Faz tempo que não uso super,tinha esquecido…Bom talvez alguém com mais experiencia possa ajuda-lo…Sorry… :oops:

adriano_si

Cara…
1 - sempre que chamares super explicitamente, deves coloca-lo como primeira ação do seu construtor…

2 - Mude essa forma PHP de programar nomes de variáveis e classes… Java tem uma convenção com um padrão de nomenclatura, estude o mesmo que nos ajudará até a ler, porque aí já estamos familiarizados com o formato…

3 - Não entendi bem, mas me passa qual a linha 117 do selecionar.java… Mais um erro de padronização, classes Java (por convenção) começam com Maiúsculas seguindo a regra CamelCase… por favor cara, estude isso, vai te ajudar a começar certo…

Exception in thread main java.lang.NullPointerException

at selecionar.inicializacao(selecionar.java:117)

at cliente.(cliente.java:10)

at cliente.main(cliente.java:15)

Aqui indica seu erro… Aprenda a ler essa exceções e rastrear as possíveis causas…

Abs []

Criado 27 de novembro de 2010
Ultima resposta 2 de dez. de 2010
Respostas 4
Participantes 3