Erro quando eu faço uma inserção no banco de dados![Java SE]

Tá dizendo que a tabela não existe?

java.sql.SQLSyntaxErrorException: A tabela/visão ‘ESTADOS’ não existe.

Classe da conexão:

package Formulário;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

public class ConectaBanco {

public Statement stm;//responsável por preparar e realizar pesquisas no banco de dados
public ResultSet rs;//responsável por amazenar o resultado de uma pesquisa passada para o Statement
private String driver = "apache_derby_net";//responsável por identificar o serviço de banco de dados
private String caminho = "jdbc:derby://localhost:1527/TestandoBanco";//responsável por setar o local do banco de dados
private String usuario = "Higor"; 
private String senha = "deliciacara15";
public Connection conn; // responsável por realizar a conexão com o banco de dados

public void conexao()
{//método responsável por realizar a conexão com o banco.
    try {//tentativa inicial
        System.setProperty("jdbc.Drivers", driver);//seta a propriedade do driver de conexão
        conn = DriverManager.getConnection(caminho, usuario, senha);//realiza a conexão com o banco de dados.
        
        JOptionPane.showMessageDialog(null, "Conectado com sucesso.");
    } catch (SQLException ex) {//se não der certo... \/
        Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
        JOptionPane.showMessageDialog(null, "Erro de conexão."
        +"\nErro:"+ex.getMessage());
    }
}

public void desconecta()
{//método para fechar a conexão com o banco de dados
    try {
        conn.close();//fecha a conexao
        JOptionPane.showMessageDialog(null, "Conexão fechada com sucesso!");
    } catch (SQLException ex) {
        Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
        JOptionPane.showMessageDialog(null, "Erro ao fechar a conexão."
                + "\nErro:"+ex.getMessage());
    }
}
}

Código da inserção através de um JButton:

private void cadastrarActionPerformed(java.awt.event.ActionEvent evt) {                                          
    if (evt.getSource() == cadastrar) {
        if (nome.getText().length() > a)//Limitando os caracteres de 
        //uma String pra 20.
        {
            try {
                throw new Exception();
            } catch (Exception ex) {
                Logger.getLogger(FrmEstado.class.getName()).
                        log(Level.SEVERE, null, ex);
                JOptionPane.showMessageDialog(null, "Eroooooo");
            }
        }

        if (sigla.getText().length() > b) {//limitando os caracteres de uma
             //String pra 2
            try {
                throw new Exception();
            } catch (Exception ex) {
                Logger.getLogger(FrmEstado.class.getName()).log(
                        Level.SEVERE, null, ex);
                JOptionPane.showMessageDialog(null, "EROOOOO");
            }
        }
        try {
            PreparedStatement pst = cb.conn.prepareStatement("insert into "
                    + "Estados(Nome_do_estado,"
                    + " Sigla_do_estado)values(?,?)");
            pst.setString(1, nome.getText());
            pst.setString(2, sigla.getText());
            pst.executeUpdate();
            JOptionPane.showMessageDialog(null, "DEU CERTO!");
        } catch (SQLException ex) {
            Logger.getLogger(FrmEstado.class.getName()).log(Level.SEVERE,
                    null, ex);
            JOptionPane.showMessageDialog(null, "Num vai dá não!\nERRO:"
                    + " " + ex);
        }
    }
}  

Código SQL:

CREATE TABLE "Estados" (
    "ID" INTEGER not null primary key,
    "Nome_do_estado" VARCHAR(20),
    "Sigla_do_estado" VARCHAR(2)
);

Observações.:

  1. Na classe onde eu fiz a inserção, eu utilizei o método da conexão!
  2. Banco de dados usado: Java DB.

PS: EU JÁ GEREI A TABELA!!!

Essa tabela está dentro de algum esquema ou está no público mesmo? Acredito que esteja faltando só o esquema como APP.estados

Será que o problema está na geração automática do seu ID (de forma sequencial)

Veja:

CREATE TABLE Estados (
ID INT NOT NULL GENERATED ALWAYS AS IDENTITY CONSTRAINT ESTADOS_PK PRIMARY KEY, 
Nome_do_estado VARCHAR(20),
Sigla_do_estado VARCHAR(2)
);