Tempat Berbagi Ilmu dan Pengalaman

Blog ini menampilkan berbagai artikel artikel yang dapat menambah pengetahuan dan membantu para mahasiswa untuk meningkatkan pengetahuan dan membantu tugas kuliah

Pemrograman JTabel dengan ActionListener

JTable extend Action Listener


import javax.swing.*;
import javax.swing.table.*;
import java.awt.event.*;
import java.awt.*;
import java.sql.*;

public class CobaKodeTabel extends JFrame implements ActionListener
{
    JLabel lbljudul = new JLabel("DATA BARANG");
    JLabel lbkode = new JLabel("Kode Barang ");
    JLabel lbnamab = new JLabel("Nama Barang ");
    JLabel lbjenis = new JLabel("Jenis ");
    JLabel lbharga = new JLabel("Harga");
    JLabel lbjumlah = new JLabel("Jumlah");
   
   
    JTextField tfkode = new JTextField();
    JTextField tfnamab = new JTextField();
    JTextField tfjenis = new JTextField();
    JTextField tfharga = new JTextField();
    JTextField tfjumlah = new JTextField();
   
    JButton btsimpan = new JButton("SIMPAN");
    JButton bthapus = new JButton("HAPUS");
    JButton btexit = new JButton("KELUAR");
    JButton btedit = new JButton("EDIT");
    JButton btupdate = new JButton("UPDATE");
   
       
    DefaultTableModel model = new DefaultTableModel();
    JTable tampil = new JTable(model);
    JScrollPane pane = new JScrollPane(tampil);
      
    public CobaKodeTabel()
   
    {  
        super("CobaKodeTabel");
       
lbljudul.setFont(new Font("Arial",Font.BOLD,20));
lbljudul.setBounds(150,5,210,20);          tfkode.setBounds(120,30,100,25);   
lbkode.setBounds(30,30,100,25);          btsimpan.setBounds(250,30,100,25);
lbnamab.setBounds(30,60,100,25);        tfnamab.setBounds(120,60,100,25);                           bthapus.setBounds(250,60,100,25);       tfjenis.setBounds(120,90,100,25);    
lbjenis.setBounds(30,90,100,25);           btexit.setBounds(250,90,100,25);
lbharga.setBounds(30,120,100,25);       tfharga.setBounds(120,120,100,25);           btedit.setBounds(250,120,100,25);        tfjumlah.setBounds(120,150,100,25);    lbjumlah.setBounds(30,150,100,25);      btupdate.setBounds(250,150,100,25);                                         pane.setBounds(10,200,480,250);
       
        add(lbkode);         add(tfkode);          add(btsimpan);     add(lbljudul); 
        add(lbnamab);       add(tfnamab);       add(bthapus);       add(btupdate);  
        add(lbjenis);          add(tfjenis);          add(btexit);           add(tfjumlah);      
        add(lbharga);        add(tfharga);         add(btedit);          add(lbjumlah); 
     
        add(pane);  
       
        btsimpan.addActionListener(this);
        bthapus.addActionListener(this);
        btexit.addActionListener(this);
        btedit.addActionListener(this);
        btupdate.addActionListener(this);
       
        setLayout(null);
        setSize(550,500);
        setVisible(true);
       
        String header [] = {"Kode", "Nama Barang", "Jenis", "Harga", "Jumlah"};
        for(int kolom =0; kolom

        {
            model.addColumn(header[kolom]);
        }
    }
   
    public void actionPerformed(ActionEvent ae)
    {
        String dataKode_Barang = tfkode.getText();
        String dataNama_Barang= tfnamab.getText();
        String dataJenis = tfjenis.getText();
        String dataHarga = tfharga.getText();
        String dataJumlah = tfjumlah.getText();
      

        if(ae.getSource() == btsimpan)
        {
            PreparedStatement ps = null;
            try
            {
                      
            Class.forName("org.sqlite.JDBC");
            Connection koneksi = DriverManager.getConnection("JDBC:sqlite:kuis.db");
            ps = koneksi.prepareStatement("insert into databarang(kode,nama_barang,jenis,harga,Jumlah)          values (?,?,?,?,?)");
            ps.setString(1,dataKode_Barang);
            ps.setString(2,dataNama_Barang);
            ps.setString(3,dataJenis);
            ps.setString(4,dataHarga);
            ps.setString(5,dataJumlah);
            ps.executeUpdate();
            JOptionPane.showMessageDialog(null,"Data Telah Tersimpan");
           
            int row=model.getRowCount ();
                for (int i = 0; i < row; i++)
                {
                    model.removeRow(0);
                }
               
            Statement stat = koneksi.createStatement ();
            ResultSet set = stat.executeQuery("select * from databarang");
           
                while(set.next())
                { model.addRow(new Object [] {set.getString("kode"),set.getString("nama_barang"),set.getString("jenis"),
                    set.getString("harga"),set.getString("jumlah")});
                    tampil.setModel(model);
                }
                tfkode.setText("");
                tfnamab.setText("");
                tfjenis.setText("");
                tfharga.setText("");
                tfjumlah.setText("");
            }catch(Exception ex)
            {
                System.err.println("Error...!SIMPAN!..");
            }
              
        }
       
        else if(ae.getSource() == bthapus)
        {
            tfkode.setText("");
            tfnamab.setText("");
            tfjenis.setText("");
            tfharga.setText("");
            tfjumlah.setText("");
            tfkode.requestFocus();
        }
       
        else if (ae.getSource() == btedit)
        {
            int baris = tampil.getSelectedRow();
           
            String kolomKode_Barang = model.getValueAt(baris, 0).toString();
            tfkode.setText(kolomKode_Barang);
           
            String kolomNama_Barang = model.getValueAt(baris, 1).toString();
            tfnamab.setText(kolomNama_Barang);
           
            String kolomJenis = model.getValueAt(baris, 2).toString();
            tfjenis.setText(kolomJenis);
           
            String kolomHarga = model.getValueAt(baris, 3).toString();
            tfharga.setText(kolomHarga);  
            String kolomJumlah = model.getValueAt(baris, 3).toString();
            tfjumlah.setText(kolomJumlah);  
        }
        else if (ae.getSource() == btupdate)
        {
            //model.insertRow(0, new Object[] {dataNAMA,dataNPM,dataALAMAT,dataKET});
          
        }
              
        else if(ae.getSource() == btexit)
        {
            System.exit(0);
            //new CobaAksiLoginNoDB();
        }
       
       
    }
   
    public static void main (String [] OkeLah)
    {
        CobaKodeTabel cat = new CobaKodeTabel();
    }
}
output:


0 komentar :