• Tidak ada hasil yang ditemukan

BAB V JTable. JTable () Default menciptakan JTable yang diawali dengan model default data, model kolom default, dan model pilihan default.

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB V JTable. JTable () Default menciptakan JTable yang diawali dengan model default data, model kolom default, dan model pilihan default."

Copied!
14
0
0

Teks penuh

(1)

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.

(2)

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 ()

(3)

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

(4)

Properties

Untuk mengatur jumlah kolom dan baris makan pilih properti Model

(5)

• Title : judul kolom

• Type : tipe data

• Editable : untuk memberikan nilai true untuk dapat diubah dan false hanya bisa

dibaca saja

(6)
(7)

Ubah bagian ini

(8)

Hasil Eksekusi

Contoh berikutnya :

(9)

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");

(10)

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

(11)

Isi tabel melibatkan loop

Kode program

/** * * @author badi */ import java.util.Vector; import javax.swing.table.TableColumn;

(12)

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");

(13)

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

(14)

Referensi

Dokumen terkait

Just like other muscles in the body that receives a healthy dose of workout, the heart becomes stronger with regular aerobic training.. A stronger heart pumps blood more efficiently

Retak balok terjadi pada daerah momen maksimum serta merambat ke arah vertikal (arah tegak lurus sumbu batang) seiring peningkatan beban, balok dengan tipe keruntuhan tekan

Dari tabel 4 dan Gambar 4 menunjukkan bahwa pertambahan garam ke dalam suatu sistem larutan berair (umpan) dapat menaikkan harga koefisien distribusi (Kd), maka

oleh perusahaan perlu adanya pengawasan, yang akan mengarahkan para karyawan agar dapat melaksanakan pekerjaan dengan tepat dan sesuai dengan yang telah ditetapkan..

Penggunaan natrium bikarbonat yang diberikan pada pasien gagal ginjal kronis dengan asidosis metabolik di Instalansi Rawat Inap Rumah Sakit Umum Daerah Kabupaten

Gadai disini tidak dapat dibatalkan oleh ahli waris, hanya saja mereka telah memiliki apa yang tadinya dimiliki oleh rahin.88 Namun fakta yang terjadi di lapangan adalah pihak BMT

kepada walidain dan aqrabin yang mendapatkan bagian harta peninggalan tetap diterapkan dan dilaksanakan, sedangkan pendapat lain mengatakan bahwa ketentuan wasiat

Lontar Di Desa Bontokassi Kecamatan Galesong Selatan Kabupaten Takalar. Program Studi Pendidikan Seni Rupa Fakultas Seni dan Desain Universitas Negeri Makassar. Penelitian