簡體   English   中英

如何在Eclipse Juno中將數據從JCombobox和JTextarea保存到數據庫

[英]how to save data to database from JCombobox and JTextarea in eclipse juno

我正在使用Eclipse Juno編寫我的代碼。 我想將數據輸入數據庫,但是當我單擊保存按鈕時,在JTextarea和JCombobox上出現錯誤。

這是錯誤:

無法在使用不同方法定義的內部類中引用非最終變量textALAMAT無法在通過不同方法定義的內部類中引用非最終變量cbJURUSAN

這是我的代碼:

    JScrollPane scrollPane = new JScrollPane();
    scrollPane.setBounds(35, 282, 475, 106);
    contentPane.add(scrollPane);

    tabelmodel = new DefaultTableModel(null,header);
    tabel = new JTable();
    tabel.setModel(tabelmodel);
    scrollPane.setViewportView(tabel);

    JLabel lblNim = new JLabel("NIM");
    lblNim.setBounds(35, 24, 46, 14);
    contentPane.add(lblNim);

    JLabel lblNama = new JLabel("NAMA");
    lblNama.setBounds(35, 59, 46, 14);
    contentPane.add(lblNama);

    JLabel lblJurusan = new JLabel("JURUSAN");
    lblJurusan.setBounds(35, 97, 46, 14);
    contentPane.add(lblJurusan);

    JLabel lblAlamat = new JLabel("ALAMAT");
    lblAlamat.setBounds(35, 138, 46, 14);
    contentPane.add(lblAlamat);

    textNIM = new JTextField();
    textNIM.setBounds(119, 18, 230, 27);
    contentPane.add(textNIM);
    textNIM.setColumns(10);

    textNAMA = new JTextField();
    textNAMA.setColumns(10);
    textNAMA.setBounds(119, 53, 230, 27);
    contentPane.add(textNAMA);

    JComboBox cbJURUSAN = new JComboBox();
    cbJURUSAN.setModel(new DefaultComboBoxModel(new String[] {"Teknik Informatika", "Teknik Komputer", "Sistem Informasi", "Sastra Inggris"}));
    cbJURUSAN.setBounds(118, 91, 231, 27);
    contentPane.add(cbJURUSAN);

    final JTextArea textALAMAT = new JTextArea();
    textALAMAT.setBounds(119, 133, 354, 90);
    contentPane.add(textALAMAT);

    JButton btnSave = new JButton("SAVE");
    btnSimpan.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0)
        {
            String jurusan = "";
            if(cbJURUSAN.getSelectedIndex() == 0)
            {
            jurusan = "Teknik Informatika";
            } 
            else if(cbJURUSAN.getSelectedIndex() == 1)
            {
            jurusan = "Teknik Komputer";
            } 
            else if(cbJURUSAN.getSelectedIndex() == 2)
            {
            jurusan = "Sistem Informasi";
            }
            else if(cbJURUSAN.getSelectedIndex() == 3)
            {
            jurusan = "Sastra Inggris";
            } 
            try
            {
                Connection konek = koneksi.getKoneksi();
                String query = "INSERT INTO mahasiswa VALUES (?,?,?,?)";
                PreparedStatement prepare = konek.prepareStatement(query);
                prepare.setInt(1,Integer.parseInt(textNIM.getText()));
                prepare.setString(2, textNAMA.getText());
                prepare.setString(3, jurusan);
                prepare.setString(4, textALAMAT.getText());
                prepare.executeUpdate();
                JOptionPane.showMessageDialog(null,"Data berhasil ditambahkan ke database");
            } 
            catch (Exception ex)
            {
                JOptionPane.showMessageDialog(null,"Data gagal ditambahkan ke database");
                System.out.println(ex);
            }
            finally
            {
                getDataTable();
            }
        }
    });
    btnSave.setBounds(49, 248, 89, 23);
    contentPane.add(btnSimpan);

有人可以幫我解決這個問題嗎?

偵聽器要求您將變量textALAMATcbJURUSAN為final。

我看到您已經將textALAMAT放置為final,但也將其添加到后面:

final JComboBox cbJURUSAN = new JComboBox();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM