Membuat JTable yang Dapat Diurutkan


Sebelum Sorting

Setelah Sorting 

/*
 *  DILARANG MENGUBAH ATAU MENGHAPUS HAK CIPTA INI.
 * 
 *  Hak Cipta 2008 Eko Kurniawan Khannedy.
 * 
 *  Semua isi dalam file ini adalah hak milik dari Eko Kurniawan Khannedy.
 *  Anda tak diperkenankan untuk menggunakan file atau mengubah file ini
 *  kecuali Anda tidak menghapus atau merubah hak cipta ini.
 * 
 *  Pemilik tidak bertanggung jawab jika Anda menyalah gunakan file ini
 *  dan Pemilik TIDAK MENJAMIN apapun atas file ini.
 * 
 *  Anda bisa menghubungi pemilik hak cipta ini di :
 *  email : echo.khannedy@gmail.com
 *  blog : https://eecchhoo.wordpress.com/
 *  ym : echo_khannedy
 */
package eecchhoo.demo.swing;

import java.awt.BorderLayout;
import javax.swing.JScrollPane;
import javax.swing.JTable;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableRowSorter;

/**
 * @author echo
 */
public class SortedTable extends javax.swing.JFrame {

    /**
     * Serial Verion UID
     */
    private static final long serialVersionUID = -2093871956519605230L;

    private JScrollPane scrollpaneTable;

    private JTable tableData;

    private DefaultTableModel modelTabel;

    /**
     * Metode utama
     *
     * @param args
     * parameter comand line atau shell
     */
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                SortedTable inst = new SortedTable();
                inst.setLocationRelativeTo(null);
                inst.setVisible(true);
            }
        });
    }

    /**
     * Membuat SortedTable baru
     */
    public SortedTable() {
        super();
        initGUI();
    }

    /**
     * Metode ini digunakan untuk pendeklarasian seluruh komponen GUI yang
     * berinteraksi dengan Frame
     */
    private void initGUI() {
        try {
            setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
            getContentPane().add(getScrollpaneTable(), BorderLayout.CENTER);
            pack();
            this.setSize(485, 395);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * Metode ini digunakan untuk mendeklarasikan scrollpane tabel
     *
     * @return JScrollPane scrollpane table
     */
    private JScrollPane getScrollpaneTable() {
        if (scrollpaneTable == null) {
            scrollpaneTable = new JScrollPane();
            scrollpaneTable.setViewportView(getTableData());
        }
        return scrollpaneTable;
    }

    /**
     * Metode ini digunakan untuk mendeklarasikan tabel data
     *
     * @return JTable tabel data
     */
    private JTable getTableData() {
        if (tableData == null) {
            tableData = new JTable(getModelTable());
            tableData.setRowSorter(new TableRowSorter(getModelTable()));
        }
        return tableData;
    }

    /**
     * Metode ini digunakan untuk mendeklarasikan TableModel
     *
     * @return DefaultTableModel model
     */
    private DefaultTableModel getModelTable() {
        if (modelTabel == null) {
            Object[][] row = new Object[][]{
                {
                    "NetBeans", "Sun Microsystem"
                }, {
                    "Eclipse", "IBM"
                }, {
                    "Visual J#", "Microsoft"
                }, {
                    "JBuilder", "Bordland"
                }
            };
            Object[] colum = new Object[]{
                "Project", "Vendor"
            };
            modelTabel = new DefaultTableModel(row, colum);
        }
        return modelTabel;
    }
}

Iklan

7 pemikiran pada “Membuat JTable yang Dapat Diurutkan

  1. Ping balik: Belajar JaVa « WAHYU FIGHTER

  2. Ping balik: Tutorial Java dari Eko Kurniawan Khannedy « nge-WP@net

      • misalkan aku punya table seperti ini maka hal yang harus ditambahkan dimannya ya mas Eko
        public void tampiltabelbarang2(){
        try{
        String sql=”Select * from barang order by kodebarang”;
        java.sql.Statement stmt=koneksi.createStatement();
        java.sql.ResultSet rslt=stmt.executeQuery(sql);

        DefaultTableModel tabModel = (DefaultTableModel) tabelbarang.getModel();
        tabModel.setRowCount(0);

        while(rslt.next()){
        String kodebarang=rslt.getString(“kodebarang”);
        String namabarang=rslt.getString(“namabarang”);
        String stock=rslt.getString(“stock”);
        String hargasatuan=rslt.getString(“hargasatuan”);
        String[] dataField={kodebarang,namabarang,stock,hargasatuan};
        //DftTabMode1.addRow(dataField);

        Object[] data = {tabelbarang.getRowCount() + 1,kodebarang,namabarang,stock,hargasatuan};
        tabModel.addRow(data);
        AutofitTableColumns.autoResizeTable(tabelbarang, true);
        }

        } catch (SQLException ex) {
        Logger.getLogger(frmbarang.class.getName()).log(Level.SEVERE, null, ex);
        }
        }

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s