Galera, tem algo errado aqui…
Tenho uma Classe com os metodos de edicao.
e tenho uma classe que herda a Classe edicao para mostrar num JFrame com os componentes (textFields, jButtons).
Porem esta dando um runtime error quando executo a subClasse do Formulario. Porque??? Alguem poderia me ajudar??
Essa eh a minha Classe de Edicao, onde os metodos estao:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Formularios;
import antlr.JavaCodeGenerator;
import java.awt.event.ActionEvent;
import java.sql.SQLException;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import utilitarios.conexao;
/**
*
* @author Naoki
*/
public class editorContratos extends objContratos{
//boolean primeiraVezSeller = true;
String Contrato="nois";
JTextField tfContrato = new JTextField();
JTextField tfCod = new JTextField();
JTextField tfSellerCod = new JTextField();
JComboBox cbSeller = new JComboBox();
JButton btAltera = new JButton("Altera");
JButton btGrava = new JButton("Grava");
JButton btExclui = new JButton("Exclui");
JButton btNovo = new JButton("Novo");
JButton btAnterior = new JButton("<");
JButton btPrimeiro = new JButton("<<");
JButton btUltimo = new JButton(">>");
JButton btProximo = new JButton(">");
objContratos editor = new objContratos();
int navega =0;
conexao obj_access =new conexao();
// conexao con_seller = new conexao();
public editorContratos(){
}
public void defineTexto(String Contrato){tfContrato.setText(Contrato);}
//metodo usado para chamar o Contato="nois" declarado nessa Classe;
public void mostraDados(){
try {
tfContrato.setText(obj_access.resultset.getString("Contrato"));
tfCod.setText(obj_access.resultset.getString("ContratoCod"));
tfSellerCod.setText(obj_access.resultset.getString("SellerCod"));
}
catch(Exception erro)
{
if (navega == 1) {
JOptionPane.showMessageDialog(null, "Olha, voce ja esta no primeiro registro "+erro);
}
else if (navega == 2) {
JOptionPane.showMessageDialog(null, "Olha, voce ja esta no ultimo registro "+erro);
}
else {
JOptionPane.showMessageDialog(null, "Nao ha dados registrados! Erro:"+erro);
}
navega =0;
}
}
public void alteraContratos(){
try
{
String sql = "UPDATE Contratos SET Contrato = '"
+tfContrato.getText()+"' Where ContratoCod = "
+tfCod.getText();
JOptionPane.showMessageDialog(null,"SQL ="+sql);//verificador sql
obj_access.statement.executeUpdate(sql);
JOptionPane.showMessageDialog(null, "Älteracao realizada com sucesso");
obj_access.executeSQL("select * from Contratos");
obj_access.resultset.next();
mostraDados();
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null, "Nao foi possivel atualizar o registro :"+erro);
}
}
public void excluiContratos() {
try
{
String sql = "select * from Contratos Where ContratoCod = "+tfCod.getText();
obj_access.executeSQL(sql);
obj_access.resultset.first();
String nome = "Deletar o registro cod: "+obj_access.resultset.getString("ContratoCod")+" ?";
int opcao_escolhida = JOptionPane.showConfirmDialog(null,nome,"Exclusao ",JOptionPane.YES_NO_OPTION );
if (opcao_escolhida == JOptionPane.YES_OPTION)
{
sql = "DELETE FROM Contratos Where ContratoCod = "+tfCod.getText();
int conseguiu_excluir = obj_access.statement.executeUpdate(sql);
if (conseguiu_excluir == 1)
{
JOptionPane.showMessageDialog(null, "Exclusao realizada com sucesso");
obj_access.executeSQL("select * from Contratos");
obj_access.resultset.first();
mostraDados();
}
}
else
return;
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null, "Erro ao tentar excluir o registro do Contrato, erro = "+erro);
}
}
public void gravaContratos(){ try
{
String sqlinsert ="insert into Contratos (Contrato,ContratoCod) values('"+tfContrato.getText()+"',"+tfCod.getText()+" )";
JOptionPane.showMessageDialog(null,"sql = "+sqlinsert);
obj_access.statement.executeUpdate(sqlinsert);
JOptionPane.showMessageDialog(null," Gravacao realizada com sucesso.\n " +
"O Banco de Dados adicionou um codigo automaticamente!");
obj_access.executeSQL("select * from Contratos");
obj_access.resultset.first();
mostraDados();
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null, "Nao foi possivel completar a gravacao! \n "+erro);
}
}
public void novoContratos() {
try
{
obj_access.resultset.last();
int ulticod = obj_access.resultset.getInt("ContratoCod");
tfCod.setText(""+(ulticod + 1));
tfContrato.setText("");
tfContrato.requestFocus();
tfCod.setEditable(false);
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null, "O programa irá gerar um código automaticamente !!!");
tfCod.setEditable(false);
tfCod.setText("AutoNum");
tfContrato.setText("");
tfContrato.requestFocus();
}
}
public void actionPerformed(ActionEvent acao)
{
if(acao.getSource() == btAltera)
{
alteraContratos();
}
if(acao.getSource() == btGrava)
{
gravaContratos();
}
if(acao.getSource() == btExclui)
{
excluiContratos();
}
if(acao.getSource() == btNovo)
{
novoContratos();
}
if (acao.getSource() == btPrimeiro)
{
primContrato();
}
if (acao.getSource() == btAnterior)
{
anteriorContrato();
}
if (acao.getSource() == btProximo)
{
proxContrato();
}
if (acao.getSource() == btUltimo)
{
ultimoContrato();
}
}
public void primContrato() {
try
{
navega = 2;
obj_access.resultset.first();
mostraDados();
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null, "Nao localizou possivel ir para o primeiro registro"+erro);
}
}
public void anteriorContrato() {
try
{
navega = 1;
obj_access.resultset.previous();
mostraDados();
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null, "Nao localizou possivel voltar para o registro anterior"+erro);
}
}
public void proxContrato() {
try
{
navega = 2;
obj_access.resultset.next();
mostraDados();
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null, "Nao localizou possivel ir para o proxiom registro"+erro);
}
}
public void ultimoContrato() {
try
{
obj_access.resultset.last();
mostraDados();
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null, "Nao localizou possivel ir para o ultimo registro"+erro);
}
}
}
aqui esta a minha subClasse Formulario herdada da Classe Edicao:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Formularios;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import javax.swing.*;
/**
*
* @author Naoki
*/
public class formContratos extends editorContratos implements ActionListener{
JFrame jFrameContrato = new JFrame();
public formContratos (){
jFrameContrato.setLayout(null);
jFrameContrato.setSize(300, 300);
jFrameContrato.setLocation(600, 200);
jFrameContrato.setVisible(true);
jFrameContrato.add(tfContrato);
tfContrato.setBounds(10, 10, 50, 20);
jFrameContrato.getContentPane().add(tfContrato);
jFrameContrato.add(tfCod);
tfCod.setBounds(70, 10, 50, 20);
jFrameContrato.getContentPane().add(tfCod);
jFrameContrato.add(btAltera);
btAltera.setBounds(130, 10, 80, 20);
jFrameContrato.getContentPane().add(btAltera);
btAltera .addActionListener((ActionListener) this);
jFrameContrato.add(btGrava);
btGrava.setBounds(210, 10, 80, 20);
jFrameContrato.getContentPane().add(btGrava);
btGrava .addActionListener((ActionListener) this);
jFrameContrato.add(btExclui);
btExclui.setBounds(210, 30, 80, 20);
jFrameContrato.getContentPane().add(btExclui);
btExclui .addActionListener((ActionListener) this);
jFrameContrato.add(btNovo);
btNovo.setBounds(130, 30, 80, 20);
jFrameContrato.getContentPane().add(btNovo);
btNovo .addActionListener((ActionListener) this);
jFrameContrato.add(btPrimeiro);
btPrimeiro.setBounds(130, 50, 80, 20);
jFrameContrato.getContentPane().add(btPrimeiro);
btPrimeiro .addActionListener((ActionListener) this);
jFrameContrato.add(btUltimo);
btUltimo.setBounds(210, 50, 80, 20);
jFrameContrato.getContentPane().add(btUltimo);
btUltimo .addActionListener((ActionListener) this);
jFrameContrato.add(btProximo);
btProximo.setBounds(210, 70, 80, 20);
jFrameContrato.getContentPane().add(btProximo);
btProximo .addActionListener((ActionListener) this);
jFrameContrato.add(btAnterior);
btAnterior.setBounds(130, 70, 80, 20);
jFrameContrato.getContentPane().add(btAnterior);
btAnterior .addActionListener((ActionListener) this);
jFrameContrato.add(tfSellerCod);
tfSellerCod.setBounds(130, 90, 40, 20);
jFrameContrato.getContentPane().add(tfSellerCod);
tfSellerCod .addActionListener((ActionListener) this);
}
public static void main (String[]args){
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new formContratos();
}
});
}
}