Ajuda para conectar o access no java!

Olá amigos. Preciso salvar estas informações dentro de uma tabela no access. Nunca fiz isso, mas pelo que já pesquisei, terei que criar a conexão através de uma classe JDCB e depois sim, ao clicar no botão salvar, através de INSERT INTO… será incluídos dados dentro desta tabela. Na teoria entendi um pouco, mas será que alguém poderia me ajudar pois não sei nem por onde começar. Terei que criar uma classe para a conexão? E para o botão salvar, onde vou colocar os INSERT INTO…(…)? Dessa vez estou bem perdido!!!
Vejam uma parte do código:

[code]import javax.swing.;
import java.awt.
;
import java.awt.event.*;

public class CadastroAluno extends JFrame{
private JButton b1, b2, b3;
private JLabel l1, l2, l3, l4, l5, l6, l7, l8, l9, l10;
private JTextField c1, c2, c3, c4, c5, c6, c7, c8, c10;
private TratarBotoesTelaAluno tba;
private JComboBox combo, combo_2;

public CadastroAluno() {  
    setTitle("CADASTRO DE ALUNOS");           
    JPanel p1 = new JPanel();       
    p1.setLayout(new FlowLayout(FlowLayout.LEFT));         
    JPanel p2 = new JPanel();       
    p2.setLayout(new FlowLayout ());   
      
    String modalidades[] = {"MUSCULAÇÃO","NATAÇÃO","DANÇAS","LUTAS", "YOGA", "GINÁSTICA", "PILATES"};  
    combo = new JComboBox(modalidades);  
    combo.setBackground(Color.white);  
    combo.setForeground(Color.red);  
    combo.addItemListener(new ItemListener(){  
    public void itemStateChanged(ItemEvent ie){  
    String str = (String)combo.getSelectedItem();  
  }  
});  
      
    String pagamentos[] = {"MENSAL","TRIMESTRAL","SEMESTRAL"};  
    combo_2 = new JComboBox(pagamentos);  
    combo_2.setBackground(Color.white);  
    combo_2.setForeground(Color.red);  
    combo_2.addItemListener(new ItemListener(){  
    public void itemStateChanged(ItemEvent ie){  
    String str = (String)combo_2.getSelectedItem();  
  }  
});  
   
      
    b1 = new JButton("Novo");  
    b2 = new JButton("Salvar");  
    b3 = new JButton("Limpar");       
    l1 = new JLabel ("Matrícula nº: ");  
    l2 = new JLabel ("Nome: ");  
    l3 = new JLabel ("RG: ");  
    l4 = new JLabel ("Endereço: ");  
    l5 = new JLabel ("nº: ");  
    l6 = new JLabel ("Bairro: ");  
    l7 = new JLabel ("complemento: ");  
    l8 = new JLabel ("CEP: ");  
    l10 = new JLabel("Profissão: ");          
    c1 = new JTextField (5);  
    c2 = new JTextField (35);  
    c3 = new JTextField (10);  
    c4 = new JTextField (33);  
    c5 = new JTextField (5);  
    c6 = new JTextField (10);  
    c7 = new JTextField (8);   
    c8 = new JTextField (9);  
    c10 = new JTextField (23);           
    JTextField [] vetTF = { c1, c2, c3, c4, c5, c6, c7, c8, c10};            
    p1.add(l1);  
    p1.add(c1);  
    p1.add(l2);  
    p1.add(c2);  
    p1.add(l3);  
    p1.add(c3);  
    p1.add(l4);  
    p1.add(c4);  
    p1.add(l5);  
    p1.add(c5);  
    p1.add(l6);  
    p1.add(c6);  
    p1.add(l7);  
    p1.add(c7);  
    p1.add(l8);  
    p1.add(c8);    
    p1.add(l10);  
    p1.add(c10);
        
    p1.add(p2);  

    p2.add(b1);  
    p2.add(b2);  
    p2.add(b3);   
      
    tba = new TratarBotoesTelaAluno(b1,b2,b3, vetTF);   
    b1.addActionListener(tba);  
    b2.addActionListener(tba);  
    b3.addActionListener(tba);  

    this.setContentPane(p1);   
    setSize(610,350);  
    setResizable(false);  
    setLocationRelativeTo(null);  
} 

class TratarBotoesTelaAluno implements ActionListener{  
private JButton b1, b2, b3;  
private JTextField [] vetC;  
  
public TratarBotoesTelaAluno(JButton ba, JButton bb, JButton bc, JTextField [] vetCampos){  
    b1 = ba;  
    b2 = bb;  
    b3 = bc;      
    vetC = vetCampos;  
}     
 public void actionPerformed(ActionEvent acao){      
    if(acao.getSource() == b1) {   
    System.out.println("NOVO ABERTO");   
    for(JTextField campo : vetC)  
                    campo.setText("");     
    JOptionPane.showMessageDialog(null,"OK, NOVO ABERTO");                
    } else {      
        if(acao.getSource() == b2) {              
             System.out.println("SALVANDO...");   
             
             
               
             //salvar no access???????????????????????     
               
               
               
               
        JOptionPane.showMessageDialog(null,"OK, SALVO COM SUCESSO");                             
        } else {                  
            if(acao.getSource() == b3) {                                   
                System.out.println("LIMPO!!");      
                for(JTextField campo : vetC)  
                    campo.setText("");  
                    JOptionPane.showMessageDialog(null,"OK, LIMPO COM SUCESSO");          
                      
                    }else{  
               }                  
            }  
          }  
        }  
      } 
 }[/code]

Boa noite. No fórum tem um artigo falando sobre JDBC: http://www.guj.com.br/article.show.logic?id=7

E tem, também, um outro tópico falando sobre isto. Só pesquisar.

Abraço!

Certo, mas e os INSERT INTO....(...., ...., .....) VALUES (..., .....); onde que se coloca?

Com uma rápida lida no artigo, eu vi esta linha de código:

 ResultSet rs = stm.executeQuery("SELECT coluna1, coluna2, coluna3 FROM tabela"); 

Basta mudar a query para o comando insert.

Ok, valeu.