Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
BAB V JTable Ketika merancang aplikasi yang menggunakan JTable yang perlu cermat struktur data yang akan diasjikan di tabel. Untuk DefaultTableModel adalah implementasi model yang menggunakan vektor Vektor Object untuk menyimpan nilai-nilai sel. Selain menyalin data dari aplikasi ke dalam DefaultTableModel, juga memungkinkan untuk menyajikan data dalam metode TableModel Interface sehingga data dapat dikirimkan ke JTable langsung.. Ini mebuat aplikasi yang lebih efisien karena model bebas memilih dan direpresentasi secara internal sesuai dengan data. Aturan praktis yang baik untuk memutuskan apakah akan menggunakan AbstractTableModel atau DefaultTableModel adalah dengan menggunakan AbstractTableModel sebagai kelas dasar untuk menciptakan subclass dan DefaultTableModel ketika subclass tidak diperlukan. Kontruktor JTable () Default menciptakan JTable yang diawali dengan model default data, model kolom default, dan model pilihan default. JTable (numRows int, int numColumns) Meciptakan sebuah JTable dengan numRows dan numColumns sel kosong menggunakan DefaultTableModel. JTable (Object [] [] rowData, Object [] columnNames) Menciptakn sebuah JTable untuk menampilkan nilai-nilai dalam array dua dimensi, rowData, dengan nama kolom, columnNames. JTable (dm TableModel) Menciptakab sebuah JTable yang diawali dengan dm sebagai model data, model kolom default, dan model pilihan default. JTable (dm TableModel, cm TableColumnModel) Menciptkan sebuah JTable yang diawali dengan dm sebagai model data, cm sebagai model kolom, dan model pilihan default. JTable (dm TableModel, cm TableColumnModel, sm ListSelectionModel) Menciptkan sebuah JTable yang diawali dengan dm sebagai model data, cm sebagai model kolom, dan sm sebagai model seleksi. JTable (Vector rowData, Vector columnNames) Menciptakan sebuah JTable untuk menampilkan nilai-nilai dalam vektor Vektor, rowData, dengan nama kolom, columnNames. Method Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] ………………… void addColumn (TableColumn aColumn) aColumn menambahkan ke akhir array kolom yang dimiliki oleh model Jtable kolom ini. void addColumnSelectionInterval (int index0, int index1) Menambah kolom dari index0 untuk index1, inklusif, untuk pilihan saat ini. void addNotify () Panggilan metode configureEnclosingScrollPane. void addRowSelectionInterval (int index0, int index1) Menambahkan baris dari index0 untuk index1, inklusif, untuk pilihan saat ini. void clearSelection () Deselects semua kolom dan baris yang dipilih. void columnAdded (TableColumnModelEvent e) Dipanggil saat kolom ditambahkan ke model kolom tabel. int columnAtPoint (Point point) Mengembalikan nilai indeks kolom yang terletak pada titik, atau -1 jika hasilnya tidak dalam jangkauan [0, getColumnCount () -1]. TableColumn getColumn (Object identifier) Mengembalikan nilai objek TableColumn untuk kolom dalam tabel yang identifier adalah sama dengan identifier, bila dibandingkan menggunakan sama. Class getColumnClass (int column) Mengembalikan nilai jenis kolom yang muncul pada tampilan di kolom kolom posisi. int getColumnCount () Mengembalikan nilai jumlah kolom dalam model kolom. TableColumnModel getColumnModel () Mengembalikan nilai TableColumnModel yang berisi semua informasi kolom dari tabel ini. String getColumnName (int column) Mengembalikan nilai nama kolom yang muncul pada tampilan di kolom kolom posisi. boolean getColumnSelectionAllowed () Pengembalian benar jika kolom dapat dipilih. Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] ………………… int getSelectedColumn () Mengembalikan nilai indeks dari kolom yang dipilih pertama, -1 jika tidak ada kolom yang dipilih. int getSelectedColumnCount () Mengembalikan nilai jumlah kolom yang dipilih. int [] getSelectedColumns () Mengembalikan nilai indeks dari semua kolom yang dipilih. int getSelectedRow () Mengembalikan nilai indeks dari baris yang dipilih pertama, -1 jika tidak ada baris yang dipilih. int getSelectedRowCount () Mengembalikan nilai jumlah baris yang dipilih. int [] getSelectedRows () Mengembalikan nilai indeks dari semua baris yang dipilih. boolean isCellEditable(int row, int column) Pengembalian benar jika sel pada baris dan kolom dapat diedit. boolean isCellSelected(int row, int column) Pengembalian benar jika sel pada posisi tertentu dipilih. boolean isColumnSelected(int column) Pengembalian benar jika kolom pada indeks tertentu dipilih. boolean isEditing () Pengembalian benar jika sebuah sel sedang diedit. boolean isRowSelected(int row) Pengembalian benar jika baris pada indeks tertentu dipilih. Contoh : Bualtah Frame Baru Compnent Pallete pilih dan mesukkan Jtable Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] ………………… Properties Untuk mengatur jumlah kolom dan baris makan pilih properti Model • Tipe tabel Colum untuk menambahkan dan menghapus kolom Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] ………………… • • • Title : judul kolom Type : tipe data Editable : untuk memberikan nilai true untuk dapat diubah dan false hanya bisa dibaca saja • Untuk mengubah model tabel juga bisa lewat customize Code Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] ………………… Pilih Custom property Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] ………………… Ubah bagian ini Ubahlah menjadi kode berikut : Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] ………………… Hasil Eksekusi Contoh berikutnya : Custom Properties Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] ………………… Tambahkan Kode Deklarasi isi tabel adalah Vector 1 dimensi untuk judul kolom (header), Vector 2 dimensi untuk isi tabel import java.util.Vector; import javax.swing.table.TableColumn; public class NewJFrame2 extends javax.swing.JFrame { private Vector<Vector<String>> data; private Vector<String> header; //tambahkan isi tabel /** Creates new form NewJFrame2 */ public NewJFrame2() { header = new Vector<String> (); header.add("No"); header.add("Nama"); header.add("Alamat"); Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] ………………… data = new Vector<Vector<String>> (); String isi[] = {"Satu","Dua","Tiga","Empat"}; String isi2[] = {"Satu2","Dua2","Tiga2","Empat2"}; for (int i=0; i<=4-1; i++) { Vector row = new Vector(3); row.addElement(""+i); row.addElement(isi[i]); row.addElement(isi2[i]); data.addElement(row); } initComponents(); // mengatur lebar kolom jTable1.setAutoResizeMode(jTable1.AUTO_RESIZE_OFF); TableColumn col = null; col=jTable1.getColumnModel().getColumn(0); col.setPreferredWidth(30); col=jTable1.getColumnModel().getColumn(1); col.setPreferredWidth(75); col=jTable1.getColumnModel().getColumn(2); col.setPreferredWidth(120); memperoleh nilai dan kolom dan isi shell pada tabel , pada event tabel di klik private void jTable1MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: int k =jTable1.getSelectedColumn(); int b =jTable1.getSelectedRow(); jLabel3.setText("kolom="+k+",baris="+b); jTextField1.setText(jTable1.getValueAt(b,0).toString()); jTextField2.setText(jTable1.getValueAt(b,1).toString()); jTextField3.setText(jTable1.getValueAt(b,2).toString()); } Hasil Eksekusi Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] ………………… Isi tabel melibatkan loop Kode program /** * * @author badi */ import java.util.Vector; import javax.swing.table.TableColumn; Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] ………………… public class NewJFrame4 extends javax.swing.JFrame { /** Creates new form NewJFrame4 */ private Vector<Vector<String>> data; private Vector<String> header; public NewJFrame4() { header = new Vector<String> (); header.add("i"); header.add("j=j+i"); int j=0; data = new Vector<Vector<String>> (); for (int i=0; i<=100; i++) { Vector row = new Vector(2); row.addElement(""+i); j=j+i; row.addElement(""+j); data.addElement(row); } initComponents(); jTable1.setAutoResizeMode(jTable1.AUTO_RESIZE_OFF); TableColumn col = null; col=jTable1.getColumnModel().getColumn(0); col.setPreferredWidth(30); col=jTable1.getColumnModel().getColumn(1); col.setPreferredWidth(75); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jLabel1 = new javax.swing.JLabel(); jTextField1 = new javax.swing.JTextField(); jTextField2 = new javax.swing.JTextField(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("Tabel Deret"); Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] ………………… jTable1.setModel(new javax.swing.table.DefaultTableModel( data, header )); jTable1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jTable1MouseClicked(evt); } }); jScrollPane1.setViewportView(jTable1); jLabel1.setText("jLabel1"); jTextField1.setText("jTextField1"); jTextField2.setText("jTextField2"); ………………….. ………………………….. pack(); }// </editor-fold> private void jTable1MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: int k =jTable1.getSelectedColumn(); int b =jTable1.getSelectedRow(); jLabel1.setText("kolom="+k+",baris="+b); jTextField1.setText(jTable1.getValueAt(b,0).toString()); jTextField2.setText(jTable1.getValueAt(b,1).toString()); } /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new NewJFrame4().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JLabel jLabel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable jTable1; private javax.swing.JTextField jTextField1; private javax.swing.JTextField jTextField2; // End of variables declaration } Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] ………………… Kuliah Pemrograman Desktop Java [Badiyanto, S..Kom. M.Kom] …………………