Sistemas com telas feito em java

Primeiramente sou novo aqui, e também em java. Criei um sistema para cadastrar curso e alunos, e criei duas tabelas (Cursos e Alunos), na hora de cadastrar um aluno tem o campo nome, o campo cpf e o combobox que puxa os cursos do banco de dados mysql, eu consigo setar no banco o nome do aluno, mas o cpf só pega se for números inteiros, ex:1, 2, 3 e etc. e quando tento setar o cadastro do aluno com o curso que ele faz dá um erro de “incorrect interger value :‘nome do curso’ for column ‘id_curso’ at row 1” abaixo está a tabela no mysql e seu relacionamento:

DB

resumindo eu quero fazer que quando eu cadastrar o aluno e sete o nome do curso na tabela, ele reconheça como id da tabela curso, segue o código abaixo:

public CadastroAluno() {
    initComponents();
    conexao = ModuloConexao.conector();
}

//criando um método público que pode ser executado em qualquer classe
public void adicionarAluno() {
    //a linha abaixo informa qual tabela do banco será preenchida pelo campo de texto
    String sql = "insert into aluno(`nome_aluno`, `Cpf`, `id_curso`) values(?,?,?)";
    try {
        pst = conexao.prepareStatement(sql);
        pst.setString(1, txtAluno.getText());
        pst.setString(2, txtCpf.getText());
        pst.setString(3, cbCurso.getSelectedItem().toString());
        int adicionado = pst.executeUpdate();
        if (adicionado > 0) {
            JOptionPane.showMessageDialog(null, "Aluno Matriculado com sucesso");
            txtAluno.setText("");
            txtCpf.setText("");
            txtAluno.grabFocus();
        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
}

public void preencher() {
    //método para preencher o combobox
    String sql = "select *from curso";//criando um objeto informando que é pra puxar
    //do banco de dados da tabela "CURSO"
    try {
        pst = conexao.prepareStatement(sql);
        rs = pst.executeQuery();

        while (rs.next()) {
            cbCurso.addItem(rs.getString("nome_curso"));//informando qual a coluna
            //da tabela curso eu desejo puxar           
        }

    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
}

Sua coluna CPF é do tipo int mas você está setando tudo como String, tem que setar de acordo com o tipo de dado da coluna do banco.

Dica: não faz sentido o CPF ser int pois CPFs podem começar com zero.

como faço para alterar os tipo de dados no mysql ?

já fiz a alteração no mysql, mas oque preciso mesmo é em ralação ao combo, como setar o ‘nome_curso’ na tabela aluno e ser reconhecido como ‘id_curso’

Seguindo seu modelo, o nome do curso estará na tabela curso, na tabela aluno somente o id do curso selecionado na combo, não pelo nome, que é só pra exibicao. Exemplo: http://www.java2s.com/Tutorials/Java/Swing_How_to/JComboBox/Store_key_value_pair_in_JComboBox.htm

vc poderia dá uma comentada explicando o código ? comecei a programar faz poucos meses e ainda tenho muito pouco entendimento em código.
ps: agradeço desde já

Para quem inicia, o ideal é seguir algum material de ensino antes de se aventurar em projeto próprio.

Isso é muito trabalhoso, eu não posso no momento, mas outras pessoas podem fazer.

O ideal seria voce falar pontualmente o que não entendeu para dar o primeiro passo, vai por partes.