Olá pessoal… meu codigo está dando erro e não sei ql é… consegue me ajudar?
O erro que aparece em vermelho no eclipse é esse:
java.lang.reflect.InvocationTargetExceptionIWAV0052E Invocation Target Exception creating CadastroFornecedor
[color=red] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.eclipse.ve.internal.java.vce.launcher.remotevm.JFCLauncher$1.run(JFCLauncher.java:59)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at CadastroFornecedor.getSalvCadFornecedor(CadastroFornecedor.java:296)
at CadastroFornecedor.getJContentPane(CadastroFornecedor.java:220)
at CadastroFornecedor.initialize(CadastroFornecedor.java:92)
at CadastroFornecedor.(CadastroFornecedor.java:88)
… 13 more[/color]
codigo é o seguinte:
[code]
public class ProgramaEnigMais extends JFrame {
private JButton DirecionarCadastro = null;
private JButton getDirecionarCadastro() {
if (DirecionarCadastro == null) {
DirecionarCadastro = new JButton();
DirecionarCadastro.setBounds(new Rectangle(100, 8, 90, 30));
DirecionarCadastro.setText("Cadastro");
}
return DirecionarCadastro;
public static void main(String args[]) {
ProgramaEnigMais app = new ProgramaEnigMais();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try{
Connection conexao = FabricaConexao.getConexao();
if(conexao != null){
System.out.println("Conexão estabelecida!");
}
else{
System.out.println("Erro ao conectar!");
}
conexao.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public ProgramaEnigMais() {
super();
initialize();
setLayout(null);
DirecionarCadastro.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Caixa.jPanel.setVisible(false);
Estoque.jPanel.setVisible(false);
Cadastro.getJPanel();
Cadastro.jPanel.setVisible(true);
Cadastro.jPanel.setBounds(new Rectangle(0, 82, 1233, 629));
}
});
setSize(1250, 750);
setVisible(true);
}
}
////// AKI FINALIZA A CLASSE ProgramaEnigMais (OBS. TEM OUTRAS COISAS NO CODGO QUE NÃO ESTÁ RELACIONADO)/////
public class Cadastro extends JPanel {
private static final long serialVersionUID = 1L;
static JPanel jPanel = null;
private static JLabel TituloCadastro = null;
private static JButton DirecionarFornecedor = null;
public Cadastro() {
super();
initialize();
DirecionarFornecedor.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
CadastroFornecedor cadasfor = new CadastroFornecedor();
cadasfor.setVisible(true);
}
});
}
private void initialize() {
this.setLayout(null);
this.setBounds(new Rectangle(0, 0, 1233, 750));
this.add(getJPanel(), null);
}
static public JPanel getJPanel() {
if (jPanel == null) {
TituloCadastro = new JLabel();
TituloCadastro.setText("Cadastro");
TituloCadastro.setFont(new Font("Dialog", Font.BOLD, 24));
TituloCadastro.setBounds(new Rectangle(2, 1, 105, 40));
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.setBounds(new Rectangle(0, 82, 1233, 667));
jPanel.setBackground(SystemColor.activeCaption);
jPanel.setVisible(true);
jPanel.add(TituloCadastro, null);
jPanel.add(getDirecionarFornecedor(), null);
}
return jPanel;
}
private static JButton getDirecionarFornecedor() {
if (DirecionarFornecedor == null) {
DirecionarFornecedor = new JButton();
DirecionarFornecedor.setBounds(new Rectangle(14, 68, 128, 34));
DirecionarFornecedor.setText(“Fornecedor”);
}
return DirecionarFornecedor;
}
}
////// AKI FINALIZA A CLASSE Cadastro/////
public class CadastroFornecedor extends JFrame {
private static JLabel NomeFornecedor = null;
private static JTextField NomeFornecedorCampo = null;
private static JButton SalvCadFornecedor = null;
public CadastroFornecedor() {
super();
initialize();
}
private void initialize() {
this.setContentPane(getJContentPane());
this.setTitle("Cadastro de Fornecedores");
this.setIconImage(Toolkit.getDefaultToolkit().getImage(
"D:/Programa EnigMais/EstudandoJava/Imagens/Simbolo sem fundo2.png"));
this.setBounds(new Rectangle(0, 0, 600, 580));
}
static JPanel getJContentPane() {
if (jContentPane == null) {
NomeFornecedor = new JLabel();
NomeFornecedor.setBounds(new Rectangle(105, 71, 109, 18));
NomeFornecedor.setFont(new Font("Dialog", Font.BOLD, 11));
NomeFornecedor.setText("Nome/Razão Social:");
jContentPane.add(NomeFornecedor, null);
jContentPane.add(getNomeFornecedorCampo(), null);
jContentPane.add(getFecharSemSalvCadFornecedor(), null);
}
return jContentPane;
}
private static JButton getSalvCadFornecedor() {
if (SalvCadFornecedor == null) {
SalvCadFornecedor = new JButton();
SalvCadFornecedor.setBounds(new Rectangle(289, 430, 141, 24));
SalvCadFornecedor.setText("Salvar/Fechar");
try{
CadastroFornecedor fornecedor = new CadastroFornecedor();
CadastroFornecedorDAO dao = new CadastroFornecedorDAO();
fornecedor.setName(NomeFornecedorCampo.getText());//Acho que o erro está aki <<<
dao.adiciona(fornecedor);
System.out.println("Gravado");
} catch (SQLException e){
e.printStackTrace();
}
}
return SalvCadFornecedor;
}
private static JTextField getNomeFornecedorCampo() {
if (NomeFornecedorCampo == null) {
NomeFornecedorCampo = new JTextField();
NomeFornecedorCampo.setBounds(new Rectangle(215, 71, 198, 18));
}
return NomeFornecedorCampo;
}
}
////// AKI FINALIZA A CLASSE CadastroFornecedor (OBS. TEM OUTRAS COISAS NO CODGO QUE NÃO ESTÁ RELACIONADO)/////
public class CadastroFornecedorDAO {
private Connection conexao;
public CadastroFornecedorDAO() throws SQLException {
this.conexao = FabricaConexao.getConexao();
}
public void adiciona(CadastroFornecedor fornecedor) throws SQLException {
PreparedStatement stmt = (PreparedStatement) this.conexao
.prepareStatement("insert into fornecedor (nomefornecedor) values (?)");
stmt.setString(1, fornecedor.getName()); // nome
stmt.execute();
stmt.close();
}
}
////// AKI FINALIZA A CLASSE CadastroFornecedorDAO /////
package ConexaoBB;
public class FabricaConexao {
private static final String URL_CONEXAO = "jdbc:mysql://localhost:3306/EnigMaisBancoDDados";
private static final String USUARIO = "root";
private static final String SENHA = "senhacorreta";
public static Connection getConexao()throws SQLException{
try{
Class.forName("com.mysql.jdbc.Driver");
return DriverManager.getConnection(URL_CONEXAO, USUARIO, SENHA);
}
catch (ClassNotFoundException e){
throw new SQLException(e.getMessage());
}
}
}
////// AKI FINALIZA A CLASSE FabricaConexao /////[/code]
No Banco de dados MySql com o seguinte historico:
- use enigmaisbancoddados
- CREATE TABLE fornecedor (id bigint not null auto_increment,nome varchar (255))
- CREATE TABLE fornecedor (idfornecedor bigint not null auto_increment,nomefornecedor varchar (255), PRIMARY KEY (IDFORNECEDOR))
- SELECT * FROM
enigmaisbancoddados
.fornecedor
- create database cadastro
- use cadastro
- CREATE TABLE
cadastro
( -
codigo
int(10) unsigned NOT NULL auto_increment, -
nome
varchar(60) NOT NULL default ‘’, - PRIMARY KEY (
codigo
)
)