Problema para inserir no banco de dados Oracle

Boa tarde colegas.

Estou com um problema que não consigo resolver de jeito nenhum, não estou conseguindo inserir os dados no bando de dados. Vou postar o código para ver se alguem consegue me ajudar. (o engraçada é que se deixar tudo em uma só classe funciona, mas em classes separadas dá NullPointerException).

//Classe da tela principal que chama a classe da tela para inserir
[b]package PckTelas;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

import PckConnection.ConnectionFactory;

public class TelaAbertura extends ConnectionFactory{

private JFrame janela;
private JPanel painelPrincipal, painelBotoes;
private JButton bInserir;

public void montaTela() {
	montaJanela();
	montaPainelPrincipal();
	montaPainelBotoes();
	botaoInserir();
	mostraJanela();
}

private void montaJanela() {
	janela = new JFrame("Cadastro de Colegas");
	janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

private void montaPainelPrincipal() {
	painelPrincipal = new JPanel();
	painelPrincipal.setLayout(new BorderLayout());
	janela.add(painelPrincipal);	
}

private void montaPainelBotoes() {
	painelBotoes = new JPanel();
	painelBotoes.setLayout(new GridLayout());
	painelPrincipal.add(painelBotoes, BorderLayout.SOUTH);
}

private void botaoInserir() {
	JButton bInserir = new JButton("Inserir");
	painelBotoes.add(bInserir);
	bInserir.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			new TelaInserir().montaTela();
	}
});
}

private void mostraJanela() {
	janela.pack();
	janela.setSize(540, 540);
	janela.setVisible(true);
}

public static void main(String[] args) {
	TelaAbertura t = new TelaAbertura();
	t.montaTela();
	t.conectarOracle();
}

}[/b]

//Classe da tela para inserir dados
[b]package PckTelas;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

import PckConnection.ConnectionFactory;

public class TelaInserir extends ConnectionFactory{

private JFrame janela;
private JPanel painelPrincipal;
private JLabel codigo, nome, endRes, endCom, telRes, telCel, telCom, ramal, dataNasc;
private JTextField tCodigo, tNome, tEndRes, tEndCom, tTelRes, tTelCel, tTelCom, tRamal, tDataNasc;
private JButton bInserir;


public void montaTela() {
	montaJanela();
	montaPainelPrincipal();
	montaComponentes();
	montaBotaoInserir();
	mostraJanela();
}

public void montaJanela() {
	janela = new JFrame("Inserir Cadastro");
	janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void montaPainelPrincipal() {
	painelPrincipal = new JPanel();
	painelPrincipal.setLayout(null);
	janela.add(painelPrincipal);
}

public void montaComponentes() {
	codigo = new JLabel("Codigo");
    codigo.setBounds(10, 30, 40, 30);
    tCodigo = new JTextField(5);
    tCodigo.setEditable(true);
    tCodigo.setBounds(75, 36, 40, 20);
    painelPrincipal.add(codigo);
    painelPrincipal.add(tCodigo);
    
    nome = new JLabel("Nome");
    nome.setBounds(10, 60, 40, 30);
    tNome = new JTextField(40);
    tNome.setBounds(75, 66, 300, 20);
    painelPrincipal.add(nome);
    painelPrincipal.add(tNome);
    
    endRes = new JLabel("End. Res.");
    endRes.setBounds(10, 90, 70, 30);
    tEndRes = new JTextField(30);
    tEndRes.setBounds(75, 96, 200, 20);
    painelPrincipal.add(endRes);
    painelPrincipal.add(tEndRes);
    
    endCom = new JLabel("End. Com");
    endCom.setBounds(10, 120, 70, 30);
    tEndCom = new JTextField(30);
    tEndCom.setBounds(75, 126, 200, 20);
    painelPrincipal.add(endCom);
    painelPrincipal.add(tEndCom);
    
    telRes = new JLabel("Tel. Res.");
    telRes.setBounds(10, 150, 70, 30);
    tTelRes = new JTextField(9);
    tTelRes.setBounds(75, 156, 80, 20);
    painelPrincipal.add(telRes);
    painelPrincipal.add(tTelRes);
    
    telCel = new JLabel("Tel. Cel.");
    telCel.setBounds(10, 180, 70, 30);
    tTelCel = new JTextField(9);
    tTelCel.setBounds(75, 186, 80, 20);
    painelPrincipal.add(telCel);
    painelPrincipal.add(tTelCel);
    
    telCom = new JLabel("Tel. Com.");
    telCom.setBounds(10, 210, 70, 30);
    tTelCom = new JTextField(9);
    tTelCom.setBounds(75, 216, 80, 20);
    painelPrincipal.add(telCom);
    painelPrincipal.add(tTelCom);
    
    ramal = new JLabel("Ramal");
    ramal.setBounds(360, 210, 40, 30);
    tRamal = new JTextField(4);
    tRamal.setBounds(400, 216, 40, 20);
    painelPrincipal.add(ramal);
    painelPrincipal.add(tRamal);
    
    dataNasc = new JLabel("Data Nasc.");
    dataNasc.setBounds(10, 240, 70, 30);
    tDataNasc = new JTextField(10); 
    tDataNasc.setBounds(75, 246, 90, 20);
    painelPrincipal.add(dataNasc);
    painelPrincipal.add(tDataNasc);
}

public void montaBotaoInserir() {
	bInserir = new JButton("Inserir");
	bInserir.setBounds(10, 300, 100, 20);
	bInserir.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			try {
				String inserir = "insert into contatos(codigo, nome, endRes, endCom, telRes, telCel, telCom, ramal) values(?,?,?,?,?,?,?,?)";
				PreparedStatement stmt = conn.prepareStatement(inserir);
				stmt.setInt(1, Integer.parseInt(tCodigo.getText()));
				stmt.setString(2, tNome.getText());
				stmt.setString(3, tEndRes.getText());
				stmt.setString(4, tEndCom.getText());
				stmt.setString(5, tTelRes.getText());
				stmt.setString(6, tTelCel.getText());
				stmt.setString(7, tTelCom.getText());
				stmt.setString(8, tRamal.getText());
				stmt.executeUpdate();
				stmt.close();
				tCodigo.setText(null);
				tNome.setText(null);
				tEndRes.setText(null);
				tEndCom.setText(null);
				tTelRes.setText(null);
				tTelCel.setText(null);
				tTelCom.setText(null);
				tRamal.setText(null);
				tDataNasc.setText(null);
				tCodigo.requestFocus();
				JOptionPane.showMessageDialog(null, "Cadastrado com sucesso");
			} catch (SQLException erro) {
				erro.printStackTrace();
			}
			
		}
	});
	painelPrincipal.add(bInserir);
}

public void mostraJanela() {
	janela.pack();
	janela.setSize(540, 540);
	janela.setVisible(true);
}

}[/b]

//Classe para conexão com banco
[b]package PckConnection;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import javax.swing.JOptionPane;

public class ConnectionFactory {

protected Connection conn;

public void conectarOracle() {
	try
	{
		Class.forName("oracle.jdbc.driver.OracleDriver");
		conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE", "web", "web");
		JOptionPane.showMessageDialog(null, "Conectado com o Oracle");
	}catch(ClassNotFoundException erro) {
		JOptionPane.showMessageDialog(null,"Driver JDBC-ODBC não encontrado!");
	} catch(SQLException erro) {
	JOptionPane.showMessageDialog(null,"Problemas na conexao com a fonte de dados");
 	}
}

protected void desconectarOracle() {
	try {
		conn.close();
		JOptionPane.showMessageDialog(null, "Desconectado");
	}catch(SQLException erro) {
		JOptionPane.showMessageDialog(null,"Problemas na conexao com a fonte de dados");
	}
}

}[/b]

Ai esta o código espero que alguem possa me ajudar

Well.javax

Em primeiro lugar, coloque seu código entre as tags "[code]"
2º coloque o StackTrace do erro para que fique mais facil de ajudarmos!!!

Boa tarde colegas.

Estou com um problema que não consigo resolver de jeito nenhum, não estou conseguindo inserir os dados no bando de dados. Vou postar o código para ver se alguem consegue me ajudar. (o engraçada é que se deixar tudo em uma só classe funciona, mas em classes separadas dá NullPointerException).

[code]//Classe da tela principal que chama a classe da tela para inserir
package PckTelas;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

import PckConnection.ConnectionFactory;

public class TelaAbertura extends ConnectionFactory{

private JFrame janela;
private JPanel painelPrincipal, painelBotoes;
private JButton bInserir;

public void montaTela() {
montaJanela();
montaPainelPrincipal();
montaPainelBotoes();
botaoInserir();
mostraJanela();
}

private void montaJanela() {
janela = new JFrame(“Cadastro de Colegas”);
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

private void montaPainelPrincipal() {
painelPrincipal = new JPanel();
painelPrincipal.setLayout(new BorderLayout());
janela.add(painelPrincipal);
}

private void montaPainelBotoes() {
painelBotoes = new JPanel();
painelBotoes.setLayout(new GridLayout());
painelPrincipal.add(painelBotoes, BorderLayout.SOUTH);
}

private void botaoInserir() {
JButton bInserir = new JButton(“Inserir”);
painelBotoes.add(bInserir);
bInserir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new TelaInserir().montaTela();
}
});
}

private void mostraJanela() {
janela.pack();
janela.setSize(540, 540);
janela.setVisible(true);
}

public static void main(String[] args) {
TelaAbertura t = new TelaAbertura();
t.montaTela();
t.conectarOracle();
}

}

//Classe da tela para inserir dados
package PckTelas;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

import PckConnection.ConnectionFactory;

public class TelaInserir extends ConnectionFactory{

private JFrame janela;
private JPanel painelPrincipal;
private JLabel codigo, nome, endRes, endCom, telRes, telCel, telCom, ramal, dataNasc;
private JTextField tCodigo, tNome, tEndRes, tEndCom, tTelRes, tTelCel, tTelCom, tRamal, tDataNasc;
private JButton bInserir;

public void montaTela() {
montaJanela();
montaPainelPrincipal();
montaComponentes();
montaBotaoInserir();
mostraJanela();
}

public void montaJanela() {
janela = new JFrame(“Inserir Cadastro”);
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void montaPainelPrincipal() {
painelPrincipal = new JPanel();
painelPrincipal.setLayout(null);
janela.add(painelPrincipal);
}

public void montaComponentes() {
codigo = new JLabel(“Codigo”);
codigo.setBounds(10, 30, 40, 30);
tCodigo = new JTextField(5);
tCodigo.setEditable(true);
tCodigo.setBounds(75, 36, 40, 20);
painelPrincipal.add(codigo);
painelPrincipal.add(tCodigo);

nome = new JLabel(“Nome”);
nome.setBounds(10, 60, 40, 30);
tNome = new JTextField(40);
tNome.setBounds(75, 66, 300, 20);
painelPrincipal.add(nome);
painelPrincipal.add(tNome);

endRes = new JLabel(“End. Res.”);
endRes.setBounds(10, 90, 70, 30);
tEndRes = new JTextField(30);
tEndRes.setBounds(75, 96, 200, 20);
painelPrincipal.add(endRes);
painelPrincipal.add(tEndRes);

endCom = new JLabel(“End. Com”);
endCom.setBounds(10, 120, 70, 30);
tEndCom = new JTextField(30);
tEndCom.setBounds(75, 126, 200, 20);
painelPrincipal.add(endCom);
painelPrincipal.add(tEndCom);

telRes = new JLabel(“Tel. Res.”);
telRes.setBounds(10, 150, 70, 30);
tTelRes = new JTextField(9);
tTelRes.setBounds(75, 156, 80, 20);
painelPrincipal.add(telRes);
painelPrincipal.add(tTelRes);

telCel = new JLabel(“Tel. Cel.”);
telCel.setBounds(10, 180, 70, 30);
tTelCel = new JTextField(9);
tTelCel.setBounds(75, 186, 80, 20);
painelPrincipal.add(telCel);
painelPrincipal.add(tTelCel);

telCom = new JLabel(“Tel. Com.”);
telCom.setBounds(10, 210, 70, 30);
tTelCom = new JTextField(9);
tTelCom.setBounds(75, 216, 80, 20);
painelPrincipal.add(telCom);
painelPrincipal.add(tTelCom);

ramal = new JLabel(“Ramal”);
ramal.setBounds(360, 210, 40, 30);
tRamal = new JTextField(4);
tRamal.setBounds(400, 216, 40, 20);
painelPrincipal.add(ramal);
painelPrincipal.add(tRamal);

dataNasc = new JLabel(“Data Nasc.”);
dataNasc.setBounds(10, 240, 70, 30);
tDataNasc = new JTextField(10);
tDataNasc.setBounds(75, 246, 90, 20);
painelPrincipal.add(dataNasc);
painelPrincipal.add(tDataNasc);
}

public void montaBotaoInserir() {
bInserir = new JButton(“Inserir”);
bInserir.setBounds(10, 300, 100, 20);
bInserir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
String inserir = “insert into contatos(codigo, nome, endRes, endCom, telRes, telCel, telCom, ramal) values(?,?,?,?,?,?,?,?)”;
PreparedStatement stmt = conn.prepareStatement(inserir);
stmt.setInt(1, Integer.parseInt(tCodigo.getText()));
stmt.setString(2, tNome.getText());
stmt.setString(3, tEndRes.getText());
stmt.setString(4, tEndCom.getText());
stmt.setString(5, tTelRes.getText());
stmt.setString(6, tTelCel.getText());
stmt.setString(7, tTelCom.getText());
stmt.setString(8, tRamal.getText());
stmt.executeUpdate();
stmt.close();
tCodigo.setText(null);
tNome.setText(null);
tEndRes.setText(null);
tEndCom.setText(null);
tTelRes.setText(null);
tTelCel.setText(null);
tTelCom.setText(null);
tRamal.setText(null);
tDataNasc.setText(null);
tCodigo.requestFocus();
JOptionPane.showMessageDialog(null, “Cadastrado com sucesso”);
} catch (SQLException erro) {
erro.printStackTrace();
}

}
});
painelPrincipal.add(bInserir);
}

public void mostraJanela() {
janela.pack();
janela.setSize(540, 540);
janela.setVisible(true);
}
}

//Classe para conexão com banco
package PckConnection;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import javax.swing.JOptionPane;

public class ConnectionFactory {

protected Connection conn;

public void conectarOracle() {
try
{
Class.forName(“oracle.jdbc.driver.OracleDriver”);
conn = DriverManager.getConnection(“jdbc:oracle:thin:@127.0.0.1:1521:XE”, “web”, “web”);
JOptionPane.showMessageDialog(null, “Conectado com o Oracle”);
}catch(ClassNotFoundException erro) {
JOptionPane.showMessageDialog(null,“Driver JDBC-ODBC não encontrado!”);
} catch(SQLException erro) {
JOptionPane.showMessageDialog(null,“Problemas na conexao com a fonte de dados”);
}
}

protected void desconectarOracle() {
try {
conn.close();
JOptionPane.showMessageDialog(null, “Desconectado”);
}catch(SQLException erro) {
JOptionPane.showMessageDialog(null,“Problemas na conexao com a fonte de dados”);
}
}

} [/code]

//stackTrace Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at PckTelas.TelaInserir.incluir(TelaInserir.java:118) at PckTelas.TelaInserir$1.actionPerformed(TelaInserir.java:110) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(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)
Ai esta o código espero que alguem possa me ajudar

well.javax,

Desculpa a demora…
Então ele está dando erro nessa linha

Dentro do seu código, o que tem nessa linha?