Bahasa Pemrograman Visual Swing Java Jtable File JTable
Bahasa Pemrograman Visual Swing Java Jtable - File
JTable • JTable adalah class java pada paket javax. swing, • JTable adalah class yang mempunya bentuk visual, sehingga perlu membentuk kontainer sebagai penampung JTable. • Table. Model hanya mendefinisikan penanda metoda yang sifatnya umum dan belum mempunyai implementasi sama sekali. Sebagian besar implementasi metoda berada di kelas abstrak Abstract. Table. Model.
Jtable – Default. Table. Model • Kelas konkrit Default. Table. Model merupakan perluasan dari kelas abstrak Abstract. Table. Model dan mengimplementasikan secara default sedikitnya tiga metoda yang belum diimplementasikan di kelas abstrak Abstract. Table. Model. • Ketiga metoda tersebut adalah • get. Column. Count, • get. Row. Count • get. Value. At. • Data yang terdapat di kelas Default. Table. Model disimpan di vektor (obyek dari kelas Vector) dimana elemen vektor tersebut adalah larik obyek. Table. Model interface methods and descriptions.
Latihan 1 : Class: frm. Biodata Title form : Biodata Jika Tombol Tambah Diklik maka akan menambah data sesuai dengan text yang Ditulis Object : txt. No, txt. Nama, txt. Alamat, txt. Hobi. private void j. Button 1 Action. Performed(java. awt. event. Action. Event evt) { Default. Table. Model tbl = (Default. Table. Model)tbl. Mhs. get. Model() ; String[] isi = {txt. No. get. Text(), txt. Nama. get. Text(), txt. Alamat. get. Text(), txt. Hobi. get. Text()}; tbl. add. Row(isi) ; }
Running Program private void j. Button 1 Action. Performed(java. awt. event. Action. Event evt) { Default. Table. Model tbl = (Default. Table. Model)tbl. Mhs. get. Model() ; String[] isi = {txt. No. get. Text(), txt. Nama. get. Text(), txt. Alamat. get. Text(), txt. Hobi. get. Text()}; tbl. add. Row(isi) ; } txt. No. set. Text(“”); txt. Nama. set. Text(“”); txt. Alamat. set. Text(“”); txt. Hobi. set. Text(“”); }
Latihan 2 : button Hapus remover. Row(baris) -> utk menghapus get. Value. At( baris, kolom) -> mengambil Nilai pada cell (nomor baris, nomor kolom) Get Selected. Row -> mendapatkan nomor baris Default. Table. Model tbl = (Default. Table. Model)tbl. Mahasiswa. get. Model() ; try{ int baris=tbl. Mahasiswa. get. Selected. Row(); int konfirmasi=JOption. Pane. show. Confirm. Dialog(this, "Apakah Anda Mau hapus "+tbl. get. Value. At(baris, 1), "Perhatian", JOption. Pane. YES_NO_OPTION); if(konfirmasi==JOption. Pane. YES_OPTION) { tbl. remove. Row(baris); } } catch(Exception e) { JOption. Pane. show. Message. Dialog(this, "Pilih dulu baris yang mau di hapus"); }
Button Simpan • Untuk menyimpan File kita gunakan File. Writer • Data disimpan dalam my. Documentsdata. Mahasiswa. txt String nama. File= File. System. View. get. File. System. View(). get. Default. Directory(). get. Path() +"\data. Mahasiswa. txt"; fw = new File. Writer(nama. File); Buffered. Writer br = new Buffered. Writer(fw); File. Writer Buffered. Writer Physical File untuk memisahkan antar kolom gunakan karakater | sebagai delimeter Gunakan Loop utk menyimpan seluruh isi data table ke file No|nama|alamat|hobi| br. write(tbl. Mahasiswa. get. Value. At(i, 2) +"|"); // -> simpan alamat diakhiri | br. close -> utk finalisasi simpan data ke physical file dan close buffered. Writer Harus dibungkus dalam try - catch
Button Simpan kode utk button simpan : try { String nama. File= File. System. View. get. File. System. View(). get. Default. Directory(). get. Path() +"\data. Mahasiswa. txt"; File. Writer fw = new File. Writer(nama. File); Buffered. Writer br = new Buffered. Writer(fw); for (int i=0; i<tbl. Mahasiswa. get. Row. Count(); i++) { br. write(tbl. Mahasiswa. get. Value. At(i, 0) +"|"); br. write(tbl. Mahasiswa. get. Value. At(i, 1) +"|"); br. write(tbl. Mahasiswa. get. Value. At(i, 2) +"|"); br. write(tbl. Mahasiswa. get. Value. At(i, 3) +"|"); br. new. Line(); } //for br. close(); JOption. Pane. show. Message. Dialog(this, "Data telah di simpan"); }//try catch (Exception e){ JOption. Pane. show. Message. Dialog(this, "File Tidak tersimpan karena : "+e); } //catch
Form. Component. Shown • Untuk menampilkan File kita gunakan File. Reader dan Scanner • Lokasi Data berada dalam my. Documentsdata. Mahasiswa. txt String nama. File= File. System. View. get. File. System. View(). get. Default. Directory(). get. Path()+"\da ta. Mahasiswa. txt"; //import javax. swing. File. Chooser. File. System. View File. Reader fr = new File. Reader(nama. File); //import java. io. File. Reader Scanner br = new Scanner(fr); //jgn lupa import java. io. Scanner File. Writer Buffered. Writer Harus dibungkus dalam try - catch Gunakan split utk memotong data dari 1|Izzul|Bintaro|Membaca| -> 1 baris menjadi array String[] isi=line. split(Pattern. quote("|")); tbl. add. Row(isi); -> mengisi ke table Physical File
Form. Component. Shown (otomatis dijalankan) Default. Table. Model tbl=(Default. Table. Model)tbl. Mahasiswa. get. Model(); try { /*simpan di mydocumentsdata. Mahasiswa. txt jgn lupa import File. System. View -> javax. swing. File. Chooser. File. System. View */ String nama. File= File. System. View. get. File. System. View(). get. Default. Directory(). get. Path()+"\data. Mahasisw a. txt"; File. Reader fr = new File. Reader(nama. File); Scanner br = new Scanner(fr); //import Scanner while(br. has. Next. Line()) { String line = br. next. Line(); String[] isi=line. split(Pattern. quote("|")); tbl. add. Row(isi); } //while }//try catch (Exception e){ JOption. Pane. show. Message. Dialog(this, "Data kosong, jgn lupa simpan file"); } //catch
TERIMA KASIH
- Slides: 11