Conectando com hsqldb me ajudem por favor

[b]Ola pessoal gostaria de uma ajuda para min efetuar uma conexao em de um aplicativo desktop

bom é o seguinte fiz um formulario basico no netbens e adicionei o driver do hsqldb criei o conexao.java e efetuei a conexao conforme abaixo [/b]

[code]package utilitarios;
import java.sql.;
import javax.swing.
;

public class conexao
{
final private String driver = “org.hsqldb.jdbcDriver”;
final private String url = “jdbc:hsqldb:file:C:/banco/bd”;
final private String usuario = “sa”;
final private String senha = “”;
private Connection conecta;
public Statement statement;
public ResultSet resultset;

public boolean conecta()
{
boolean result = true;
try
{
Class.forName(driver);
conecta = DriverManager.getConnection(url, usuario, senha);
JOptionPane.showMessageDialog(null, “Conectado”);
}
catch (ClassNotFoundException Driver)
{
JOptionPane.showMessageDialog(null, "Driver nao localizado: "+Driver);
result = false;
}
catch(SQLException Fonte)
{
JOptionPane.showMessageDialog(null, "Deu erro na conecao com a fonte de dados "+Fonte);
result = false;
}
return result;
}

public void desconecta()
{
boolean result = true;
try
{
conecta.close();
JOptionPane.showMessageDialog(null, “Danco Fechado”);
}
catch (SQLException erroSQL)
{
JOptionPane.showMessageDialog(null, “Nao foi possivel fechar o banco de dados”+erroSQL.getMessage());
result = false;
}

}

public void executaSQL(String sql)
{
try
{
statement = conecta.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
resultset = statement.executeQuery(sql);
}
catch (SQLException sqlex)
{
JOptionPane.showMessageDialog(null, sqlex);

}

}
} [/code]

ate aqui td ok

ja no formulario esta assim

[code]import java.sql.SQLException;
import javax.swing.JOptionPane;
import utilitarios.conexao;
public class Tela_Principal extends javax.swing.JFrame {

conexao con_banco;
public Tela_Principal() {
initComponents();
con_banco = new conexao();
con_banco.conecta();
}
//
private void initComponents() {
jdbcDriver1 = new org.hsqldb.jdbcDriver();
botao_salvar = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
tf_conteudo = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
botao_salvar.setText(“jButton1”);
botao_salvar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
botao_salvarActionPerformed(evt);
}
});

jLabel1.setText(“dados”);

tf_conteudo.setText(“jTextField1”);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addGap(16, 16, 16)
.addComponent(tf_conteudo, javax.swing.GroupLayout.PREFERRED_SIZE, 204, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(19, 19, 19)
.addComponent(botao_salvar)
.addContainerGap(49, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tf_conteudo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1)
.addComponent(botao_salvar))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
}//

private void botao_salvarActionPerformed(java.awt.event.ActionEvent evt) {
/* ================================ /
try
{
String sqlinsert = “INSERT INTO TESTE (NOME) VALUES (’”+tf_conteudo.getText()+"’)";
con_banco.statement.executeUpdate(sqlinsert);
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null, erro);
}
}
/
================================ */
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Tela_Principal().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JButton botao_salvar;
private javax.swing.JLabel jLabel1;
private org.hsqldb.jdbcDriver jdbcDriver1;
private javax.swing.JTextField tf_conteudo;
// End of variables declaration

} [/code]


ao executar o aplicativo aparece a mensagem “conectado” (respondendo a conexao com o driver) mais ao clicar no botaoo para incluir os dados na tabela da o seguinte erro

[quote]Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at Tela_Principal.botao_salvarActionPerformed(Tela_Principal.java:62)
at Tela_Principal.access$000(Tela_Principal.java:5)
at Tela_Principal$1.actionPerformed(Tela_Principal.java:24)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:231
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:603
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:205
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:16
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121) [/quote]

alguem pode me ajudar ?

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Erko[/color][/size] :joia: