Erro ao conectar no banco de dados

Olá! Fiz um programa em Java no NetBeans para receber os dados e as notas de alunos. Inicialmente o objeto aluno era inserido em um ArrayList, até aí tudo bem. Em seguida eu modifiquei o código para que os alunos fossem inseridos no banco de dados, pelo método que criei.
Estou usando fazendo o programa de acordo com o exemplo que tenho na apostila da faculdade. O problema é que quando eu vou confirmar a inserção do aluno no bando de dados aparece uma mensagem com o seguinte erro: "error loading driver.java.sql.SQLNon Transient Connection: java.net.ConnectException: Erro ao conectar no servidor ‘localhost’ porta ‘1527’. Recebida a mensagem: ‘Connection refused: connect’ " …Tem outro problema também: Antes de modificar o código, o aluno era inserido e em seguida, após fechar a tela, era aberta outra tela com os alunos inseridos e a média final de cada aluno. Agora essa segunda janela também não é aberta mais.
Se alguém puder me ajudar…Desde já, muito obrigada!

Segue o código:
Meu código tem 3 classes…
Aluno:

[code]
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package pacoteInterface;  
  
  
/** 
 * 
 * @author Giseli 
 */  
public class Aluno {  
     private String nome;   
     private String matricula;  
     private double prova1;  
     private double prova2;  
     private double trabalhos;  
     private double provafinal;  
  
    Aluno(String n, String m, double p1, double p2, double t){   
        this.nome = n;  
        this.matricula = m;  
        this.prova1 = p1;  
        this.prova2 = p2;  
        this.trabalhos = t;  
        this.provafinal = 0; //Inicializando a nota com zero.  
    }  
  
    Aluno(String nome, String matricula, double nota1, double nota2, double nota3, double provafinal) {  
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.  
    }  
      
   double media() {   
        double m = this.getProva1() +  
                 this.getProva2() +  
                this.getTrabalhos();  
        if (m < 60){  
            m = (40*m + 60*this.getProvaFinal())/100;  
        }  
        return m;  
          
    }  
      
      
      
    /** 
     * @return the nome 
     */  
    public String getNome() {  
        return nome;  
    }  
  
    /** 
     * @param nome the nome to set 
     */  
    public void setNome(String nome) {  
        this.nome = nome;  
    }  
  
    /** 
     * @return the matricula 
     */  
    public String getMatricula() {  
        return matricula;  
    }  
  
    /** 
     * @param matricula the matricula to set 
     */  
    public void setMatricula(String matricula) {  
        this.matricula = matricula;  
    }  
  
    /** 
     * @return the prova1 
     */  
    public double getProva1() {  
        return prova1;  
    }  
  
    /** 
     * @param prova1 the prova1 to set 
     */  
    public void setProva1(double prova1) {  
        this.prova1 = prova1;  
    }  
  
    /** 
     * @return the prova2 
     */  
    public double getProva2() {  
        return prova2;  
    }  
  
    /** 
     * @param prova2 the prova2 to set 
     */  
    public void setProva2(double prova2) {  
        this.prova2 = prova2;  
    }  
  
    /** 
     * @return the trabalhos 
     */  
    public double getTrabalhos() {  
        return trabalhos;  
    }  
  
    /** 
     * @param trabalhos the trabalhos to set 
     */  
    public void setTrabalhos(double trabalhos) {  
        this.trabalhos = trabalhos;  
    }  
  
    /** 
     * @return the provaFinal 
     */  
    public double getProvaFinal() {  
        return provafinal;  
    }  
  
    /** 
     * @param provaFinal the provaFinal to set 
     */  
    public void setProvaFinal(double provaFinal) {  
        this.provafinal = provaFinal;  
    }  
      
}  [/code]

ListaAlunos:

[code]
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package pacoteInterface;  
  
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.ResultSet;  
import java.sql.SQLException;  
import java.sql.Statement;  
import java.util.ArrayList;  
  
/** 
 * 
 * @author Giseli 
 */  
public class ListaAlunos extends javax.swing.JFrame {  
  
    /** 
     * Creates new form ListaAlunoss 
     */  
   // public ListaAlunos() {   
//ERA ASSIM:   
public ListaAlunos( ) {  
      
        initComponents();  
        this.alunos = alunos; //Inicializando o objeto alunos //ANTES ERA SSIM  
         //alunos = consultarAlunosBD(); //Inicializando o objeto alunos  
         for (Aluno a: alunos) {  
            this.jComboBox1.addItem(a.getNome());  
        }  
    }  
  
    ArrayList<Aluno> alunos; //DEVE MUDAR DE LUGAR  
  
     
      
      
      
    private void consultarAlunosBD(){  
        String driver = "org.apache.derby.jdbc.ClientDriver";  
        String url = "jdbc:derby://localhost:1527/LP";  
        String username = "giseli";  
        String password = "giseli";  
          
        //Criando um ArrayList para armazenar os dados:  
        ArrayList<Aluno> alunosBD = new ArrayList<Aluno>();  
         try{  
             Class.forName(driver);  
             Connection connection = DriverManager.getConnection(  
                                     url, username, password);  
             Statement statement = connection.createStatement();  
               
             String consulta = "SELECT * FROM Aluno";  
             statement.executeQuery(consulta);  
               
             ResultSet results = statement.executeQuery(consulta);  
             while (results.next()){  
                   
                 String nome = results.getString("nome");  
                 String matricula = results.getString("matricula");  
                   
                double nota1 = results.getDouble("nota1");  
                double nota2 = results.getDouble("nota2");  
                double nota3 = results.getDouble("nota3");  
                double provafinal = results.getDouble("provafinal");  
                  
                Aluno a = new Aluno(nome, matricula,  
                           nota1, nota2, nota3, provafinal);  
                alunosBD.add(a);  
             }  
             connection.close();  
         }catch(ClassNotFoundException cnfe){  
             Interface.mensagemErro("Error loading driver: " + cnfe, "ERRO");  
         }catch(SQLException sqle){  
             Interface.mensagemErro("Error loading driver: " + sqle, "ERRO");  
         }  
          
          
  
    }  
      
      
      
      
      
      
      
       
      
      
      
      
  
    /** 
     * This method is called from within the constructor to initialize the form. 
     * WARNING: Do NOT modify this code. The content of this method is always 
     * regenerated by the Form Editor. 
     */  
    @SuppressWarnings("unchecked")  
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                            
    private void initComponents() {  
  
        jLabel1 = new javax.swing.JLabel();  
        jComboBox1 = new javax.swing.JComboBox();  
        jLabel2 = new javax.swing.JLabel();  
        jTextField1 = new javax.swing.JTextField();  
        jButton1 = new javax.swing.JButton();  
  
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);  
  
        jLabel1.setText("Alunos Incluídos:");  
  
        jComboBox1.addActionListener(new java.awt.event.ActionListener() {  
            public void actionPerformed(java.awt.event.ActionEvent evt) {  
                jComboBox1ActionPerformed(evt);  
            }  
        });  
  
        jLabel2.setText("Média do aluno:");  
  
        jButton1.setText("Fechar");  
        jButton1.addActionListener(new java.awt.event.ActionListener() {  
            public void actionPerformed(java.awt.event.ActionEvent evt) {  
                jButton1ActionPerformed(evt);  
            }  
        });  
  
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());  
        getContentPane().setLayout(layout);  
        layout.setHorizontalGroup(  
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()  
                .addContainerGap()  
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
                    .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 194, javax.swing.GroupLayout.PREFERRED_SIZE)  
                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE))  
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 65, Short.MAX_VALUE)  
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)  
                    .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 101, Short.MAX_VALUE)  
                    .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 101, Short.MAX_VALUE)  
                    .addComponent(jTextField1))  
                .addGap(30, 30, 30))  
        );  
        layout.setVerticalGroup(  
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
            .addGroup(layout.createSequentialGroup()  
                .addGap(21, 21, 21)  
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)  
                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)  
                    .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))  
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)  
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)  
                    .addComponent(jComboBox1, javax.swing.GroupLayout.DEFAULT_SIZE, 29, Short.MAX_VALUE)  
                    .addComponent(jTextField1))  
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)  
                .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)  
                .addContainerGap(175, Short.MAX_VALUE))  
        );  
  
        pack();  
    }// </editor-fold>                          
  
     
    private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {                                             
        // TODO add your handling code here:  
          
        //CÓDIGO QUE ESTÁ GERANDO ERRO:  
          
        int posicao = this.jComboBox1.getSelectedIndex();  
        Aluno a = this.alunos.get(posicao);  
        String media = Double.toString(a.media());  
        this.jTextField1.setText(media);  
    }                                            
  
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
        // TODO add your handling code here:  
        System.exit(1);  
    }                                          
  
      
       
      
    /** 
     * @param args the command line arguments 
     */  
    public static void main(String args[]) {  
        /* Set the Nimbus look and feel */  
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">  
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. 
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html  
         */  
        try {  
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {  
                if ("Nimbus".equals(info.getName())) {  
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());  
                    break;  
                }  
            }  
        } catch (ClassNotFoundException ex) {  
            java.util.logging.Logger.getLogger(ListaAlunos.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);  
        } catch (InstantiationException ex) {  
            java.util.logging.Logger.getLogger(ListaAlunos.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);  
        } catch (IllegalAccessException ex) {  
            java.util.logging.Logger.getLogger(ListaAlunos.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);  
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {  
            java.util.logging.Logger.getLogger(ListaAlunos.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);  
        }  
        //</editor-fold>  
  
        /* Create and display the form */  
        java.awt.EventQueue.invokeLater(new Runnable() {  
            public void run() {  
                
            }  
        });  
    }  
  
    // Variables declaration - do not modify                       
    private javax.swing.JButton jButton1;  
    private javax.swing.JComboBox jComboBox1;  
    private javax.swing.JLabel jLabel1;  
    private javax.swing.JLabel jLabel2;  
    private javax.swing.JTextField jTextField1;  
    // End of variables declaration                     
}  [/code]

Interface:

[code]
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package pacoteInterface;  
import java.util.ArrayList;  
import java.sql.*;  
  
/** 
 * 
 * @author Giseli 
 */  
public class Interface extends javax.swing.JFrame {  
  
    /** 
     * Creates new form  
     */  
     
      
   private final ArrayList<Aluno> alunos  ; //NÃO TINHA "final"  
     
    //ArrayList<Aluno> alunos = new ArrayList<Aluno>(); //Pra teste  
    
      
      
    public Interface() { //Construtor da Classe  
         /*this.alunos = new ArrayList<Aluno>();*/  
        this.alunos = new ArrayList<>(); //ERA ASSIM: new ArrayList<Aluno>();  
        initComponents();  
    }  
      
   /* void incluirAluno (Aluno a) { 
        this.alunos.add(a); 
        
    }*/  
      
     public void mostraAluno(int i){ // teste  
        System.out.println("Nome:"+alunos.get(i).getNome());  
  
    }  
    /*public ArrayList<Aluno> getAlunos() { //ISSO NÃO TINHA 
        return alunos; 
    }*/  
     
      
    /** 
     * This method is called from within the constructor to initialize the form. 
     * WARNING: Do NOT modify this code. The content of this method is always 
     * regenerated by the Form Editor. 
     */  
    @SuppressWarnings("unchecked")  
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                            
    private void initComponents() {  
  
        jPanel1 = new javax.swing.JPanel();  
        jLabel1 = new javax.swing.JLabel();  
        jLabel2 = new javax.swing.JLabel();  
        jTextField1 = new javax.swing.JTextField();  
        jTextField2 = new javax.swing.JTextField();  
        jPanel2 = new javax.swing.JPanel();  
        jLabel3 = new javax.swing.JLabel();  
        jTextField3 = new javax.swing.JTextField();  
        jLabel4 = new javax.swing.JLabel();  
        jTextField4 = new javax.swing.JTextField();  
        jLabel5 = new javax.swing.JLabel();  
        jTextField5 = new javax.swing.JTextField();  
        jCheckBox1 = new javax.swing.JCheckBox();  
        jTextField6 = new javax.swing.JTextField();  
        jButton2 = new javax.swing.JButton();  
        jButton3 = new javax.swing.JButton();  
  
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);  
  
        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Dados pessoais do aluno", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Agency FB", 1, 12))); // NOI18N  
  
        jLabel1.setText("Nome do aluno");  
  
        jLabel2.setText("Matrícula");  
  
        jTextField1.addActionListener(new java.awt.event.ActionListener() {  
            public void actionPerformed(java.awt.event.ActionEvent evt) {  
                jTextField1ActionPerformed(evt);  
            }  
        });  
  
        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);  
        jPanel1.setLayout(jPanel1Layout);  
        jPanel1Layout.setHorizontalGroup(  
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
            .addGroup(jPanel1Layout.createSequentialGroup()  
                .addContainerGap()  
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
                    .addComponent(jLabel1)  
                    .addComponent(jLabel2))  
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)  
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
                    .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 229, Short.MAX_VALUE)  
                    .addComponent(jTextField2))  
                .addContainerGap())  
        );  
        jPanel1Layout.setVerticalGroup(  
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
            .addGroup(jPanel1Layout.createSequentialGroup()  
                .addContainerGap()  
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)  
                    .addComponent(jLabel1)  
                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))  
                .addGap(18, 18, 1<img src="http://javafree.uol.com.br/forum/images/smiles/icon_cool.gif">  
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)  
                    .addComponent(jLabel2)  
                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))  
                .addContainerGap(43, Short.MAX_VALUE))  
        );  
  
        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Notas do aluno", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Agency FB", 1, 12))); // NOI18N  
  
        jLabel3.setText("Primeira prova");  
  
        jLabel4.setText("Segunda prova");  
  
        jLabel5.setText("Ecercicios");  
  
        jTextField5.addActionListener(new java.awt.event.ActionListener() {  
            public void actionPerformed(java.awt.event.ActionEvent evt) {  
                jTextField5ActionPerformed(evt);  
            }  
        });  
  
        jCheckBox1.setText("Prova final");  
        jCheckBox1.addActionListener(new java.awt.event.ActionListener() {  
            public void actionPerformed(java.awt.event.ActionEvent evt) {  
                jCheckBox1ActionPerformed(evt);  
            }  
        });  
  
        jTextField6.setEditable(false);  
        jTextField6.addActionListener(new java.awt.event.ActionListener() {  
            public void actionPerformed(java.awt.event.ActionEvent evt) {  
                jTextField6ActionPerformed(evt);  
            }  
        });  
  
        jButton2.setText("Adicionar este aluno");  
        jButton2.addActionListener(new java.awt.event.ActionListener() {  
            public void actionPerformed(java.awt.event.ActionEvent evt) {  
                jButton2ActionPerformed(evt);  
            }  
        });  
  
        jButton3.setText("Fechar");  
        jButton3.addActionListener(new java.awt.event.ActionListener() {  
            public void actionPerformed(java.awt.event.ActionEvent evt) {  
                jButton3ActionPerformed(evt);  
            }  
        });  
  
        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);  
        jPanel2.setLayout(jPanel2Layout);  
        jPanel2Layout.setHorizontalGroup(  
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
            .addGroup(jPanel2Layout.createSequentialGroup()  
                .addGap(47, 47, 47)  
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
                    .addGroup(jPanel2Layout.createSequentialGroup()  
                        .addComponent(jButton2)  
                        .addGap(0, 0, Short.MAX_VALUE))  
                    .addGroup(jPanel2Layout.createSequentialGroup()  
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
                            .addComponent(jLabel3)  
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()  
                                .addComponent(jLabel5)  
                                .addGap(45, 45, 45)))  
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)  
                            .addComponent(jTextField5, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 52, Short.MAX_VALUE)  
                            .addComponent(jTextField3, javax.swing.GroupLayout.Alignment.LEADING))  
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)  
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
                            .addComponent(jButton3)  
                            .addGroup(jPanel2Layout.createSequentialGroup()  
                                .addGap(79, 79, 79)  
                                .addComponent(jCheckBox1)  
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)  
                                .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE))  
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()  
                                .addComponent(jLabel4)  
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)  
                                .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)))  
                        .addGap(51, 51, 51)))  
                .addContainerGap())  
        );  
        jPanel2Layout.setVerticalGroup(  
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
            .addGroup(jPanel2Layout.createSequentialGroup()  
                .addGap(17, 17, 17)  
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
                    .addComponent(jTextField3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)  
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)  
                        .addComponent(jLabel3)  
                        .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)  
                        .addComponent(jLabel4)))  
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
                    .addGroup(jPanel2Layout.createSequentialGroup()  
                        .addGap(18, 18, 1<img src="http://javafree.uol.com.br/forum/images/smiles/icon_cool.gif">  
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)  
                            .addComponent(jLabel5)  
                            .addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))  
                    .addGroup(jPanel2Layout.createSequentialGroup()  
                        .addGap(35, 35, 35)  
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)  
                            .addComponent(jCheckBox1)  
                            .addComponent(jTextField6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))  
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 26, Short.MAX_VALUE)  
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)  
                    .addComponent(jButton2)  
                    .addComponent(jButton3))  
                .addGap(51, 51, 51))  
        );  
  
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());  
        getContentPane().setLayout(layout);  
        layout.setHorizontalGroup(  
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
            .addGroup(layout.createSequentialGroup()  
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
                    .addGroup(layout.createSequentialGroup()  
                        .addGap(33, 33, 33)  
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))  
                    .addGroup(layout.createSequentialGroup()  
                        .addContainerGap()  
                        .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 458, javax.swing.GroupLayout.PREFERRED_SIZE)))  
                .addContainerGap(179, Short.MAX_VALUE))  
        );  
        layout.setVerticalGroup(  
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)  
            .addGroup(layout.createSequentialGroup()  
                .addContainerGap()  
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)  
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 54, Short.MAX_VALUE)  
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)  
                .addContainerGap())  
        );  
  
        pack();  
    }// </editor-fold>                          
  
    public void limparCampos() { //Isso era provate  
        this.jTextField1.setText("");//O nome volta a ser vazio  
        this.jTextField2.setText("");//A matricula tambem  
        this.jTextField3.setText("0");//As notas voltam a ser zero  
        this.jTextField4.setText("0");  
        this.jTextField5.setText("0");  
        this.jTextField6.setText("0");  
        this.jCheckBox1.setSelected(false); /*O campo de seleção da prova final 
        não estará selecionado*/  
        this.jTextField6.setEditable(false);/*A princípio, o campo com a nota da  
        prova fnal não poderá ser inserido*/  
          
       
         
    }  
      
      
      
   
      
    private void inserirAlunoBD(Aluno a) {  
        //Definindo o driver do banco que será utilizado:  
        String driver = "org.apache.derby.jdbc.ClientDriver";  
        //Definindo o Banco de dados que será utilizado:  
        String url = "jdbc:derby://localhost:1527/LP";  
        //Definindo o usuário e a senha para conectarmos ao banco:  
        String username = "giseli";  
        String password = "giseli";  
          
        try {  
            //Carregando driver do BD:  
            Class.forName(driver);  
            //Estabelecendo conexão com o BD  
            Connection connection = DriverManager.getConnection(  
            url, username, password);  
              
              
              
            //Criando statement para executar queries.  
            Statement statement = connection.createStatement();  
            /* o código para manipular o banco vem a partir daqui. Através do 
            "statement" criado acima, podemos inserir dados nas tabelas, recuperar dados etc. 
            Neste caso, iremos atualizar a tabela Aluno inserindo um anova linha.  
            */  
            String insert = "INSERT INTO Aluno VALUES ('" +  
                    a.getNome() + "', '" + a.getMatricula() + "', " +  
                    a.getProva1() + ", " + a.getProva2() + ", " +  
                    a.getTrabalhos() + ", " + a.getProvaFinal() + ")";  
              
            /*A string criada é como o comando SQL a seguir: INSERT INTO Alunos  
            Values ('Hilário', '12345', 20.0, 30.0, 10.0, 0.0)*/  
            statement.executeUpdate(insert);  
            connection.close();  
        }catch(ClassNotFoundException cnfe){  
            mensagemErro("Error loading driver: " + cnfe, "ERRO");  
        }catch(SQLException sqle) {  
            mensagemErro("Error loading driver: " + sqle, "ERRO");  
        }  
        }  
      
      
    private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {                                             
        boolean estado = this.jTextField6.isEditable();  
        this.jTextField6.setEditable(!estado);           // TODO add your handling code here:  
    }                                            
  
    private void jTextField5ActionPerformed(java.awt.event.ActionEvent evt) {                                              
        // TODO add your handling code here:  
    }                                             
  
    private void jTextField6ActionPerformed(java.awt.event.ActionEvent evt) {                                              
        // TODO add your handling code here:  
    }                                             
  
    private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                              
        // TODO add your handling code here:  
    }                                             
  
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                           
        // TODO add your handling code here:  
        String nome, matricula;  
        double nota1 = 0, nota2 = 0, nota3 = 0, provafinal = 0;  
          
        //Recuperando os campos digitados:  
        nome = this.jTextField1.getText();  
        matricula = this.jTextField2.getText();  
          
         
          
        try {  
//Transformando as notas digitadas para Double:  
            nota1 = Double.parseDouble(this.jTextField3.getText());  
            nota2 = Double.parseDouble(this.jTextField4.getText());  
            nota3 = Double.parseDouble(this.jTextField5.getText());  
  
            //Criando um objeto da classe Aluno:  
            Aluno a = new Aluno(nome, matricula, nota1, nota2, nota3);  
            /* getAlunos().add(a);*/ //ISSO NÃO TINHA  
            //Verificando se aluno fez prova final:  
            if (this.jTextField6.isEditable()) {  
                provafinal = Double.parseDouble(this.jTextField6.getText());  
                a.setProvaFinal(provafinal);  
            }  
              
              
             //Confirmando se os dados inseridos estão corretos  
            String mensagem = "Confira os dados do Aluno e confirme se deseja "  
                    + "adicioná-lo: \n\n";  
            mensagem += "Nome: "+ nome + "\n";  
            mensagem += "Matricula: "+ matricula + "\n";  
            mensagem += "Primeira Prova: "+ nota1 + "\n";  
            mensagem += "Segunda Prova: "+ nota2 + "\n";  
            mensagem += "Exercícios: "+ nota3 + "\n";  
            mensagem += "Média Final: "+ a.media();  
              
            //Inserindo a nota da prova final na mensagem  
            if(this.jTextField6.isEditable()){  
                mensagem += "Prova Final: " + provafinal + "\n";  
            }  
              
            /*Criando uma janela de CONFIRMAÇÃO com as opções ON e CANCEL,  
            e verificando se o usuário escolheu a opção OK */  
            if(confirmacao(mensagem, "Aluno inserido")) {  
                //Incluindo o aluno no ArrayList...  
                inserirAlunoBD(a); //ERA ASSIM: incluirAluno(a);  
                //Avisando que ele foi inserido...  
                mensagemAlerta("Aluno inserido com sucesso.",  
                        "Aluno inserido!");  
                //...e limpando os campos do formulário..  
                this.limparCampos();  
                 
            }  
              
              
            inserirAlunoBD(a); //Incluindo o aluno no ArrayList  
        } catch (NumberFormatException numberFormatException) {  
            mensagemErro(  
            "Erro: alguma nota não foi digitada corretamente.",   
            "Nota inválida");  
              
             
              
        }  
        this.limparCampos(); /*Limpando todos os campos para que o usuário possa  
        cadastrar um novo aluno*/        
    }                                          
  
    //MÉTODOS INSERIDOS PARA MENSAGENS  
     public static void mensagemErro(String msg, String titulo){  
            //Mostrando uma mensagem de erro ao usuário  
         javax.swing.JOptionPane.showMessageDialog(null, msg, titulo,  
                 javax.swing.JOptionPane.ERROR_MESSAGE);  
        }  
       
     public static boolean confirmacao (String msg, String titulo) {  
         /*Criando uma janela de CONFIRMAÇÃO com as opções OK e CANCEL, e retornando 
         verdadeiro se o usuario clicou em OK 
         */  
         if(javax.swing.JOptionPane.showConfirmDialog  
        (null, msg, titulo,  
         javax.swing.JOptionPane.OK_CANCEL_OPTION) ==   
         javax.swing.JOptionPane.OK_OPTION)   
           
         {  
         return true;  
        }  
         else {  
         return false;  
              }  
           
     }  
       
     public static void mensagemAlerta (String msg, String titulo){  
         //Mostrando uma informação ao usuário  
         javax.swing.JOptionPane.showMessageDialog(null, msg, titulo,  
         javax.swing.JOptionPane.INFORMATION_MESSAGE);  
     }  
       
       
      
      
    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                           
        // TODO add your handling code here:  
      
        setVisible(true);  
        this.dispose();  
        /*this.setVisible(false);*/ //ERA ISSO NA LINHA ANTERIOR  
    }                                          
  
    /** 
     * @param args the command line arguments 
     */  
    public static void main(String args[]) {  
        /* Set the Nimbus look and feel */  
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">  
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. 
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html  
         */  
        try {  
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {  
                if ("Nimbus".equals(info.getName())) {  
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());  
                    break;  
                }  
            }  
        } catch (ClassNotFoundException ex) {  
            java.util.logging.Logger.getLogger(Interface.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);  
        } catch (InstantiationException ex) {  
            java.util.logging.Logger.getLogger(Interface.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);  
        } catch (IllegalAccessException ex) {  
            java.util.logging.Logger.getLogger(Interface.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);  
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {  
            java.util.logging.Logger.getLogger(Interface.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);  
        }  
        //</editor-fold>  
  
        /* Create and display the form */  
        java.awt.EventQueue.invokeLater(new Runnable() {  
            public void run() {  
                new Interface().setVisible(true);  
                  
         
                  
            }  
        });  
    }  
  
    // Variables declaration - do not modify                       
    private javax.swing.JButton jButton2;  
    private javax.swing.JButton jButton3;  
    private javax.swing.JCheckBox jCheckBox1;  
    private javax.swing.JLabel jLabel1;  
    private javax.swing.JLabel jLabel2;  
    private javax.swing.JLabel jLabel3;  
    private javax.swing.JLabel jLabel4;  
    private javax.swing.JLabel jLabel5;  
    private javax.swing.JPanel jPanel1;  
    private javax.swing.JPanel jPanel2;  
    private javax.swing.JTextField jTextField1;  
    private javax.swing.JTextField jTextField2;  
    private javax.swing.JTextField jTextField3;  
    private javax.swing.JTextField jTextField4;  
    private javax.swing.JTextField jTextField5;  
    private javax.swing.JTextField jTextField6;  
    // End of variables declaration                     
}  [/code]