Membuat Table di Java dengan AlbertTable


AlbertTable adalah tabel model turunan dari AbstractTableModel Java yang penulis buat sekitar tahun 2014 dan dulunya bernama class OBTable.

Dulu penulis gunakan hanya sebagai sub class dalam aplikasi dekstop Java penulis.

Dan belakangan saat tulisan ini ditulis, penulis sering gunakan kembali untuk kebutuhan membuat tabel, dan penulis pisahkan menjadi package sendiri dengan nama AlbertTable tersebut.

Oleh karena itu dalam blog ini, AlbertTable penulis suguhkan dalam bentuk library Java, yang dapat di download di link berikut:

Kelebihannya adalah tabel dilengkapi dengan key dan mouse adapter untuk keperluan editing dasar, sehingga pengguna dapat langsung melakukan copy-paste data, seperti dari excel sebagaimana ditunjukkan dalam video dibawah ini:


Sedangkan kode berikut ini adalah contoh main class project Java, penggunaan AlbertTable:

package simpletable; 
 
import AlbertTable.ClipboardKeyAdapter; 
import AlbertTable.TModel; 
import AlbertTable.TableMouseAdapter; 
import java.awt.Dimension; 
import java.awt.GridBagConstraints; 
import java.awt.GridBagLayout; 
import java.awt.Toolkit; 
import javax.swing.JFrame; 
import javax.swing.JScrollPane; 
import javax.swing.JTable; 
import javax.swing.WindowConstants; 
import javax.swing.table.TableColumn; 
 
public class SimpleTable extends JFrame 
{ 
    public void setup() 
    { 
        setTitle("Table with AlbertTable"); 

        setLayout(new GridBagLayout()); 
        GridBagConstraints con = new GridBagConstraints(); 

        con.fill = GridBagConstraints.BOTH; 
        con.weightx=1; 
        con.weighty=1; 
        con.gridx=0; 
        con.gridy=0; 

        String[] columnNames=new String[]{"Name 1","Name 2","Name 3"}; 
        String[][] Variables = { 
            {"", ""}, 
            {"", ""}, 
            {"", ""} 
        }; 
        TModel tmodel = new TModel(columnNames, Variables); 
        JTable table = new JTable(tmodel){ 
            public void doLayout() { 
                for (int i = 0; i <getColumnModel().getColumnCount(); i++) { 
                    TableColumn column = getColumnModel().getColumn(i); 
                    column.setPreferredWidth(140); 
                } 
                super.doLayout(); 
            } 
        }; 
        table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 
        JScrollPane cpane=new JScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 
        ClipboardKeyAdapter cbcb=new ClipboardKeyAdapter(table); 
        table.addKeyListener(cbcb); 
        table.addMouseListener(new TableMouseAdapter(table,cbcb)); 
        cpane.setPreferredSize(new Dimension(800,400)); 
        add(cpane,con); 

        pack(); 

        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
        setLocation((int)(0.5*(screenSize.getWidth()-getWidth())),(int)(0.5*(screenSize.getHeight()-getHeight()))); 
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); 
        getContentPane().requestFocusInWindow(); 
        setVisible(true); 
    } 

    public static void main(String[] args) { 
        SimpleTable main=new SimpleTable(); 
        main.setup(); 
    } 
} 

Dengan file AlbertTable dapat ditambahkan menggunakan menu Add Jar/Folder di project yang bersangkutan.


Karena telah lama dibuat, penulis mohon maaf tidak dapat menyebutkan sumber referensi kode awal dari AlbertTable atau OBTable.

Yang pasti, seingat penulis, sumber tersebut tidak berasal dari referensi berbahasa Indonesia.

Dan penulis juga memohon maaf jika masih terdapat bug di sana sini, karena memang library ini, penulis buat sesuai kebutuhan dalam proyek penulis sendiri.

Library ini penulis dedikasikan untuk putra penulis Albert Ezra Nathaniel Ubaidillah, yang belum sempat menunjukkan senyumnya, ke ayah-ibunya di dunia ini.

Komentar



Postingan populer dari blog ini

Kumpulan Source Code Greenfoot

Game TicTacToe dengan Greenfoot

Algorithma Coretan Abstrak dengan HTML5 Canvas

Cara Membuat Halaman HTML Sederhana

Honeycomb Style Wallpaper dengan HTML5 Canvas

Ganti Kartu ATM BNI yang Rusak

Mencoba Submit Theme di Wordpress.org

Cara Menentukan Arah Kiblat Menggunakan Google Maps

Selamatan Latar Glundengan Bubuk Banyuwangi

Kode Greenfoot Game Snake Sederhana