Menambah dan Menghapus Baris pada AlbertTable


AlbertTable adalah library Java hasil modifikasi penulis yang telah diceritakan pada posting sebelumnya.

Dengan AlbertTable diharapkan operasi editing cell pada JTable menjadi lebih mudah, begitu juga dari sisi pemrogramannya.

Operasi editing yang dimaksud seperti melakukan copy-paste dari aplikasi Microsoft Excel atau sebaliknya.

Video dibawah ini adalah preview penambahan dan penghapusan baris aplikasi Java yang menggunakan AlbertTable.


Untuk mendapatkan AlbertTable, dapat di download pada link, di posting yang berjudul "Membuat Table di Java dengan AlbertTable".

Sedangkan kode berikut ini adalah contoh kode Java, penggunakan AlbertTable dalam JTable, berikut kode untuk menambahkan dan menghapus baris.

package addremoverow; 
 
import AlbertTable.TModel; 
import java.awt.Dimension; 
import java.awt.FlowLayout; 
import java.awt.GridBagConstraints; 
import java.awt.GridBagLayout; 
import java.awt.GridLayout; 
import java.awt.Toolkit; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 
import javax.swing.JTable; 
import javax.swing.WindowConstants; 
import javax.swing.table.TableColumn; 
 
/** 
 * 
 * @author Edugameapp 
 */ 
public class AddRemoveRow extends JFrame 
{ 
    private JTable table; 
    public void setup() 
    { 
        setTitle("Add and Remove Row"); 
        setLayout(new GridBagLayout()); 
        GridBagConstraints con = new GridBagConstraints(); 

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

        JPanel panel = new JPanel(); 
        panel.setLayout(new GridLayout()); 

        String[] columnNames = {"","Name","Description"}; 
        Object[][] Variables = { 
            {new Boolean(false), "Edugameapp","https://edugameapp.blogspot.com"}, 
            {new Boolean(false), "Computational Lab","https://play.google.com/store/apps/dev?id=9085656042751581233"}, 
            {new Boolean(false), "Uboiz Blog","https://ube-icunk.blogspot.com/"} 
        }; 
        TModel tmodel = new TModel(columnNames, Variables); 
        table = new JTable(tmodel){ 
            public void doLayout() { 
                for (int i = 0; i <getColumnModel().getColumnCount(); i++) { 
                    TableColumn column = getColumnModel().getColumn(i); 
                    if(i==0)column.setPreferredWidth(50); 
                    else column.setPreferredWidth(200); 
                } 
                super.doLayout(); 
            } 
        }; 
        table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 
        table.getTableHeader().setReorderingAllowed(false); 
        JScrollPane cpane=new JScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 
        cpane.setPreferredSize(new Dimension(500,200)); 
        panel.add(cpane); 
        add(panel,con); 

        panel=new JPanel(); 
        panel.setLayout(new FlowLayout(FlowLayout.CENTER)); 
        JButton button=new JButton("Add Row"); 
        button.addActionListener(new ActionListener() 
        { 
            public void actionPerformed(ActionEvent e) 
            { 
                AddRow(); 
            } 
        }); 
        panel.add(button); 
        button=new JButton("Delete"); 
        button.addActionListener(new ActionListener() 
        { 
            public void actionPerformed(ActionEvent e) 
            { 
                DeleteRow(); 
            } 
        }); 
        panel.add(button); 

        con.weighty=0; 
        con.gridy++; 
        add(panel,con); 

        setSize(600,500); 
        pack(); 

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

    private void AddRow() 
    { 
        if(table.getCellEditor()!=null)table.getCellEditor().stopCellEditing(); 
        ((TModel)table.getModel()).resizeRowCol(table.getRowCount()+1,table.getColumnCount()); 
    } 

    private void DeleteRow() 
    { 
        if(table.getCellEditor()!=null)table.getCellEditor().stopCellEditing(); 
        for(int i=table.getRowCount()-1;i>=0;i--){ 
            if(table.getValueAt(i,0)!=null && (Boolean)table.getValueAt(i,0)){ 
                ((TModel)table.getModel()).removeRow(i); 
            } 
        } 
    } 

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

Penulis menggunakan NetBeans 8.2 dengan Java Development Kit (JDK) versi 8.

Komentar



Postingan populer dari blog ini

Apps Script untuk Cetak Sertifikat

Menambahkan Konfirmasi Email di Google Form

Menambahkan Random Key sebagai ID Pembeda di Google Sheet dengan Apps Script

Peringatan: Aksi Penipuan Skimming Melalui Aplikasi Android M-Pajak

Menghapus Baris di Google Sheets yang Memiliki Sel Kosong dengan Apps Script

Template Gratis App Android Sederhana dengan Admob, Firebase dan In-app Purchase

Menyikapi Ucapan AI Pejabat

Generate Karakter Acak dan Menempatkannya di Sel Google Sheets dengan Apps Script

Kebodohan Karyawan Menyalahkan Sistem

Apps Script untuk Copy File ke Folder berdasarkan ID yang Terdaftar di Google Sheets