Beranda > Java Programming > Membuat JTable yang Dapat Diurutkan

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 : http://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;
    }
}
  1. 27 Desember 2007 pukul 20:50 | #1

    waah…ikut belajar bahasa java dong … gw pas – pasan nieh bahasa javanya,,,ada forum pecinta bahasa java yang tulisannya pake bahasa indonesia gak?? kalo ada kasih tau ya…

  2. Dj
    7 Januari 2010 pukul 16:24 | #2

    bagus mas

  1. 5 April 2009 pukul 03:26 | #1
  2. 26 Mei 2009 pukul 15:36 | #2