Modul Desktop Java Dengan Netbeans PDF
Modul Desktop Java Dengan Netbeans PDF
A. TUJUAN :
Maksud :
- Siswa memahami cara penggunaan NetBeans 8.1 dan mampu membuat project
sederhana dengan menggunakan Class JTextField, JButton dan JLabel.
Tujuan :
- Menggunakan Class JTextField untuk meminta masukan dari user
- Menggunakan Class JButton untuk melakukan suatu pemrosesan
- Menggunakan Class JLabel untuk menampilkan keterangan
B. TEORI SINGKAT
Netbeans sebagai IDE ditujukan untuk memudahkan pemrograman Java. Dalam NetBeans
pemrograman dilakukan berbasiskan visual dan event driven. Untuk membuat dialog atau
user interface tidak diperlukan untuk membuat teks program baris per baris secara manual
malainkan cukup memilih dengan melakukan klik pada component pallete dan teks program
akan di generate secara otomatis.
Suatu user interface mempunyai bentuk dasar yang sederhana yaitu tempat untuk mengisikan
sesuatu, yang dapat diwakili oleh Class JTextField. Tulisan sebagai penjelas informasi yang
dapat diwakili oleh Class JLabel dan suatu tombol untuk memberi kesempatan user
melakukan pemrosesan yang dapat diwakili oleh Class JButton.
C. PRAKTEK :
13. Rubahlah Title Form (lihat di properties) dengan tulisan : Form Hitung
Pemrograman Desktop Java 4
14. Kemudian Klik main.java di Tab Source, tambahkan pada bagian main statemen berikut
ini yang berfungsi untuk menjadikan form fHitung akan dijalankan pada saat project di-
Run
15. Kemudian jalankan project dengan cara klik toolbar Run atau Tekan F6
c. Rubah tulisan jLabel1 menjadi Nama Barang, untuk merubah tulisan jLabel1
dapat digunakan salah satu dari keempat cara berikut :
- Klik Ganda pada tulisan jLabel1, atau
- Klik Kanan pada komponen jLabel1 di form atau di komponen Inspector,
pilih Edit Text, atau
- Rubah Properties Text dari komponen jLabel1
Pemrograman Desktop Java 5
18. Untuk Penambahan Komponen TextField dalam form :
a. Klik Class JTextField pada Swing Pallete
b. Klik pada form untuk meletakkan Class JTextField tersebut sehingga terbentuk
tampilan sbb:
c. Kosongkan tulisan di dalam textfield dengan cara sama seperti penulisan text pada
JLabel1 di atas.
d. Rubah nama Variabel jTextField1 menjadi txtNamaBarang, ini dapat dilakukan
dengan salah satu dari ketiga cara berikut:
i. Klik Kanan pada komponen jTextField1 di form, atau Komponen
jTextField1 di komponen Inspector, kemudian pilih Change Variable
Name… sehingga memunculkan :
ii. atau bisa juga dengan merubah komponen Variable Name di Panel Code :
19. Untuk Komponen yang lain, lakukan dengan cara yang sama, sehingga terbentuk desain
form seperti berikut :
20. Keterangan :
1 Class : jLabel
Text : Nama Barang
2 Class : jLabel
Text : Harga
3 Class : jLabel
Text : QTY
4 Class : jLabel
Text : Total
Pemrograman Desktop Java 6
5 Class : jLabel
Variable Name : lblTotal
Text : TOTAL :
Font : Verdana 14 Bold
HorizontalSize : Default
6 Class : jTextField
Variable Name : txtNamaBarang
7 Class : jTextField
Variable Name : txtHarga
HorizontalAlignment : RIGHT
8 Class : jTextField
Variable Name : txtQty
HorizontalAlignment : RIGHT
9 Class : jTextField
Variable Name : txtTotal
HorizontalAlignment : RIGHT
Enabled : false (tidak dicentang)
10 Class : jButton
Variable Name : btnHitung
Text : Hitung
Mnemonic :H
11 Class : jButton
Variable Name : btnKeluar
Text : Keluar
Mnemonic :K
Skenario :
Setelah diisi nama barang (misal: BAJU), harga (misal : 10000) dan Qty beli (misal : 25),
kemudian ditekan tombol hitung akan memunculkan Jumlah (Harga x Qty) (misal :
250000) di txtTotal, sedangkan di lblTotal akan memunculkan tulisan : TOTAL : Rp.
250,000. Kemudian apabila ditekan tombol Keluar maka akan memunculkan kotak Pesan
dengan tulisan : Terima Kasih telah membeli BAJU, setelah diklik OK maka form
hitung akan ditutup.
21. Untuk Melakukan Format penulisan angka dengan pemisah ribuan (250,000) dibutuhkan
library dari java.text maka untuk menambahkan library tersebut, bukalah Source dari
fHitung.java, kemudian ketikkan import.java.* di bawah package pmodul1 seperti di
bawah ini :
25. Agar pada saat keluar bisa memunculkan suatu kotak pesan, maka di bawah package
pmodul1 berikan perintah :
import javax.swing.JOptionPane;
26. Lakukan Langkah no. 23 untuk mengisikan kode pada tombol Keluar, kemudian ketikkan
kode berikut ini :
private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
JOptionPane.showMessageDialog(this,
"Terima Kasih Sudah Membeli "+txtNamaBarang.getText());
System.exit(0);
}
27. Catatan : Apabila sekedar untuk menutup form maka cukup menggunakan perintah :
System.exit(0)
28. Jalankan Program dan isikan nama barang, harga dan Qty, kemudian Klik Hitung (atau
tekan CTRL+H), akan menghasilkan tampilan sbb :
29. Kemudian Klik Tombol Keluar (atau tekan CTRL+K), akan menghasilkan tampilan sbb :
Pemrograman Desktop Java 8
D. LATIHAN
Tambahkan fasilitas diskon untuk program di atas.
E. TUGAS :
1. Buat form dengan tampilan sbb :
A. TUJUAN
Maksud :
- Siswa mampu memahami cara penggunaan JRadioButton dan JCheckBox
Tujuan :
- Menggunakan Class JRadioButton dan JCheckBox untuk melakukan pemilihan
B. TEORI SINGKAT
CheckBox adalah komponen yang biasa digunakan untuk memilih pilihan dari dua
kemungkinan, biasanya berupa jawaban Ya atau Tidak.
RadioButton merupakan suatu kelompok pilihan, pilihan bisa dua atau lebih akan tetapi
dalam satu kelompok tersebut hanya diperkenankan untuk memilih satu pilihan saja.
Dalam Swing, CheckBox bisa dibuat menggunakan Class JCheckBox, sedangkan untuk radio
button dibutuhkan dua Class yaitu JRadioButton untuk pembuatan radiobutton dan
ButtonGroup untuk mengelompokkan beberapa radiobutton ke dalam satu grup.
C. PRAKTEK:
1. Jalankan Netbeans 8.1
2. Buat project Baru dengan nama pmodul2
3. Tambahkan Form (JFrame Form) dengan nama fwarung
4. Kemudian agar Form fwarung dijalankan pertama kali bila program di –Run maka pada
program Main.java tambahkan kode berikut :
18 Class : JLabel
Variable Name : lblTotal
Text : Rp. 0
19 Class : JButton
Variable Name : btnKosong
Text : Kosongkan
Mnemonic :K
20 Class : ButtonGroup
Variable Name : rdgCaraBayar
7. catatan :
Untuk Pembuatan radio button langkahnya adalah :
a. Tambahkan komponen no. 11 (JPanel)
b. Tambahkan Komponen no: 12, 13, 14 dan 15 dengan meletakkannya ke dalam
komponen no 11 tadi
c. Tambahkan Komponen no. 20 (ButtonGroup) untuk menggabungkan ketiga radio
button ke dalam satu grup
8. Untuk melakukan perubahan nama variabel komponen ButtonGroup dilakukan melalui
komponen Inspector, pilih Klik kanan | Change Variable Name…
9. Kemudian buka source untuk fwarung.java, dan tambahkan kode berikut ini :
public fwarung() {
initComponents();
rdgCaraBayar.add(rdoCash);
rdgCaraBayar.add(rdoBCA);
rdgCaraBayar.add(rdoMandiri);
}
10. Skenario :
Pada Program Warung ini, apabila menu Soto diberi tanda Check (centang) maka txtSoto
menjadi siap untuk diisi Quantity Pembeliannya, tetapi jika tanda Check dihilangkan
maka txtSoto kembali menjadi kosong dan tidak bisa ditulisi/diedit. Hal yang sama juga
berlaku bagi menu-menu yang lain. Untuk Cara Pembayaran bisa dipilih salah satu dari
tiga pilihan yang ada. Apabila semua sudah diisi sesuai kebutuhan, dan ditekan tombol
hitung maka akan pada posisi lblTotal akan memunculkan Nilai Total dari Menu yang
dipesan (masing-masing menu dihitung : harga x Quantity), dan di lblCaraBayar akan
memunculkan tulisan : jika dipilih Cash akan tampil : Uang Cash, jika dipilih BCA Card
akan tampil : Kartu Debit BCA, jika dipilih Mandiri Card akan tampil : Kartu Kredit
Mandiri. Bila tombol Kosongkan diklik, maka semua isian dan tampilan akan kembali
semula.
Pemrograman Desktop Java 12
11. Sebagai awal dan contoh : Klik kanan pada chkSoto | Event | Action | ActionPerformed
kemudian ketikkan kode berikut :
private void chkSotoActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (chkSoto.isSelected()) {
txtSoto.setEditable(true);
txtSoto.setText("1");
} else {
txtSoto.setEditable(false);
txtSoto.setText("0");
}
}
12. Lakukan hal yang sama untuk menu Sate, Es Jeruk dan Es Teh
13. Kemudian Pada btnHitung ketikkan kode program berikut ini :
private void btnHitungActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
boolean lDataOke = true;
if (!lDataOke) {
JOptionPane.showMessageDialog(this,
"Data Dilengkapi dahulu");
} else {
// untuk memudahkan, buat variabel baru untuk menampung data
int nSoto = Integer.parseInt(txtSoto.getText());
int nSate = Integer.parseInt(txtSate.getText());
int nEsJeruk = Integer.parseInt(txtEsJeruk.getText());
int nEsTeh = Integer.parseInt(txtEsTeh.getText());
// hitung total
int nTotal = (5000 * nSoto)+
(10000 * nSate)+(2000 * nEsJeruk)+(1500 * nEsTeh);
lblTotal.setText("Rp. "+nTotal);
16. Kemudian saat ditekan tombol kosongkan maka tampilan menjadi sbb :
Pemrograman Desktop Java 14
D. LATIHAN
Modifikasilah program di atas:
- Default Cara Bayar tertulisnya bukan cara bayar, melainkan UANG CASH
- Munculnya hasil tampilan cara bayar bukan pada saat ditekan tombol hitung,
melankan pada saat user memilih cara bayar. Misal user memilih BCA Card maka
saat itu juga tampilan cara bayar berubah menjadi KARTU DEBIT BCA
E. TUGAS
Buat desain form sbb:
Skenario :
- Nama pegawai dan gaji pokok diisi biasa,
- Jika Seks dipilih Wanita, maka lblPasangan bertuliskan : Nama Suami, jika dipilih
Pria maka lblPasangan bertuliskan : Nama Istri
- Jika Status Menikah diberi tanda check, maka txtJumAnak bisa diisikan jumlah
anaknya, tetapi jika tanda check dihilangkan maka txtJumAnak menjadi berisi angka 0
dan tak bisa dirubah/diedit
- Saat tombol Hitung Gaji Total diklik, maka akan dilakukan perhitungan gaji total
dengan rumus :
o Untuk jumlah anak lebih dari atau sama dengan 3
o Gaji Total = Gaji Pokok + ( (Gaji Pokok x 10% x 3))
o Untuk jumlah anak kurang dari 3
o Gaji Total = Gaji Pokok + ((gaji Pokok x 10% x Jumlah Anak))
o Kemudian hasil perhitungan gaji total tersebut akan ditampilkan di textfield
gaji total
Pemrograman Desktop Java 15
MODUL 3
KOMPONEN PEMILIHAN 2
A. TUJUAN
Maksud :
- Siswa mampu memahami cara penggunaan JList dan JComboCox
Tujuan :
- Menggunakan Class JList dan JComboBox untuk melakukan pemilihan
B. TEORI SINGKAT
List dan ComboBox keduanya mempunyai fungsi yang hampir sama, yaitu memberi
kesempatan bagi user untuk memilih dari suatu kumpulan daftar. List akan menampilkan
daftar pilihan lebih dari 1 baris yang diletakkan dalam suatu kotak, sedangkan ComboBox
pada dasarnya adalah suatu gabungan antara List dan TextBox (sehingga disebut Combo).
Pilihan dalam comboBox hanya terlihat 1 baris, sedangkan daftar pilihan lainnya baru akan
muncul bila dilakukan klik, biasanya di bagian kanan berbentuk segitiga terbalik, dari
combobox tersebut. Meskipun bisa juga dilakukan penamban pengisian / dapat disunting,
namun secara default biasanya comboBox bersifat non-editable. Perbedaan lainnya adalah,
dalam List bisa diatur agar dapat dilakukan Multiple Choice (memilih lebih dari 1 pilihan dari
daftar yang ada)
Dalam Swing, untuk membuat List dapat digunakan Class JList, sedangkan untuk ComboBox
dapat digunakan Class JComboBox.
C. PRAKTEK
1. Jalankan NetBeans 8.1
2. Buat project baru bernama pmodul3
3. Tambahkan Form (JFrame Form) dengan nama fDaftar
4. Kemudian agar Form fDaftar dijalankan pertama kali bila program di –Run maka pada
program Main.java tambahkan kode berikut :
6. Keterangan :
1 Class : JLabel
Text : Daftar Mata Kuliah
2 Class : JList
Variable Name : lstKuliah
Model : [….diisi..lihat petunjuk di bagian bawah keterangan..]
3 Class : JButton
Variable Name : btnCopy
Text : >>
4 Class : JLabel
Text : Mata Kuliah Terpilih
5 Class : JList
Variable Name : lstPilih
Model : […Kosongkan..]
6 Class : JLabel
Text : Kuliah Yang Dipilih
7 Class : JTextField
Name : txtKuliah
editable : false
8 Class : JLabel
Text : Banyak Mata Kuliah Terpilih
9 Class : JTextField
Name : txtTerpilih
Editable : false
Text :0
10 Class : JButton
Variable Name : btnHapus
Text : Hapus Terpilih
11 Class : JLabel
Text : Angkatan
12 Class : JComboBox
Variable Name : cboAngkatan
Model : [..diisi : 2009, 2008, 2007, < 2007 ..]
13 Class : JButton
Variable Name : btnHitung
Text : Hitung Biaya
14 Class : JTextArea
Variable Name : txtResume
Editable : false
Pemrograman Desktop Java 17
7. Untuk Mengisikan Model List data pada JList dan comboBox, bisa dilakukan dengan
memilih properties, kemudian memilih Model. Berikut ini contoh tampilan pengisian
model untuk lstKuliah :
8. Skenario :
Setiap kali daftar mata kuliah diklik (dipilih) maka nama mata kuliah tersebut akan
muncul di txtKuliah. Jika kemudian tombol Copy ( >>) diklik, maka mata kuliah yang
dipilih tadi akan dicopykan ke daftar mata kuliah terpilih, dan otomatis banyak mata
kuliah terpilih (txtTerpilih) akan bertambah 1. Untuk menghapus mata kuliah terpilih
dilakukan dengan cara: meng-klik mata kuliah yang akan dihapus, kemudian tekan
tombol Hapus Terpilih, otomatis banyak mata kuliah terpilih akan berkurang 1. Untuk
menghitung biaya, disederhanakan dengan rumus : Banyak Mata kuliah x Biaya per mata
kuliah. Biaya per mata kuliah dihitung berdasar Angkatan dengan ketentuan : Angkatan
2009 100000, 2008 90000, 2007 75000, Kurang dari 2007 50000. Saat
tombol hitung biaya diklik, selain melakukan perhitungan juga akan menampilkan resume
di txtResume.
9. Dikarenakan untuk lstPilih, akan ditentukan sendiri List Model datanya maka dibutuhkan
import untuk DefaultListModel, sebagai berikut :
Pemrograman Desktop Java 18
10. Kemudian siapkan instance ListModel :
11. Berikutnya, mengisikan kode pada lstKuliah pada events : ValueChanged, dengan cara
Klik Kanan pada lstKuliah kemudian pilih: Events | List Selection | ValueChanged
12. Ketikkan kode berikut :
private void lstKuliahValueChanged(javax.swing.event.ListSelectionEvent evt) {
// TODO add your handling code here:
// setiap kali diklik, munculkan nama mata kuliah di txtKuliah
int index = lstKuliah.getSelectedIndex();
String kuliah = lstKuliah.getSelectedValue().toString();
txtKuliah.setText(kuliah);
}
// hitung Biaya
int nPerMK = 0;
switch (i) {
16. Catatan :
a. Bagian 1: adalah pembuatan variabel untuk mengakses tiap object yang akan
dipakai untuk perhitungan.
b. Bagian 2: Proses penentuan biaya dengan mempertimbangkan nilai i, yaitu index
dari cboAngkatan yang dipilih (index 0 berarti 2009, 1 berarti 2008, dst).
c. Bagian 3: membuat resume dari semua data yang telah dipilih dan
diisikan,kemudian menampilkan ke dalam JtextArea (txtResume) dengan perintah
txtResume.append()
17. Saat dijalankan (tekan F6) maka akan menghasilkan tampilan sbb :
Pemrograman Desktop Java 20
18. Dan berikut ini setelah dilakukan pemilihan dan penekanan tombol Hitung Biaya :
D. LATIHAN
Buatlah aplikasi sederhana untuk melakukan pemilihan mata kuliah dengan menggunakan 2
list (mirip program di atas) dan 2 button yaitu button Pilih dan Button Hapus. Saat button
Pilih diklik maka mata kuliah terpilih akan dipindahkan (bukan dicopykan) ke daftar mata
kuliah terpilih, saat button hapus diklik maka terjadi sebaliknya.
E. TUGAS :
Buatlah program kalkulator dengan desain form sbb :
Pemrograman Desktop Java 21
Saat diklik tombol hitung maka textbox hasil akan menampilkan hasil perhitungan sesuai
operator yang dipilih
Pemrograman Desktop Java 22
MODUL 4
KOTAK DIALOG dan TABPANE
A. TUJUAN
Maksud :
- Siswa mampu memahami pentingnya kotak dialog dalam pemrograman dan
menggunakan TabPane untuk pengelompokan tampilan dalam pembuatan user
interface
Tujuan :
- Menggunakan TabPane untuk pengelompokan user interface dalam satu form
- Menggunakan kotak dialog dan berbagai variasinya untuk berbagai keperluan
B. TEORI SINGKAT
Kotak dialog cukup penting dalam aplikasi yang dikembangkan dalam dengan bahasa
pemrograman java, sebab melalui kotak dialog ini aplikasi bisa berkomunikasi dengan
pengguna. Kotak Dialog bersifat modal, artinya saat kotak dialog muncul maka akan semua
jendela yang saat itu sedang terbuka akan menjadi inactive hingga nanti kotak dialog tersebut
ditutup.
Pembuatan kotak dialog dalam swing mengacu pada Class JOptionPane, sehingga untuk
mengaksesnya dibutuhkan statemen : import javax.swing.JOptionPane
Terdapat berbagai macam kotak dialog, akan tetapi yang akan dibahas pada praktikum ini ada
3 macam, yaitu Kotak dialog sederhana (hanya memunculkan tombol OK), kotak dialog
konfirmasi (bisa memunculkan Yes, No dan Cancel) serta kotak dialog pilihan.
C. PRAKTEK :
1. Jalankan NetBeans 8.1
2. Buat project baru bernama pmodul4
3. Tambahkan Form (JFrame Form) dengan nama fDialog
4. Kemudian agar Form fDialog dijalankan pertama kali bila program di –Run maka pada
program Main.java tambahkan kode berikut :
5. Buat Form dengan Komponen TabbedPane sebanyak 3 buah Tab, cara membuatnya :
6. Tambahkan Class JTabbedPane ke dalam form :
Pemrograman Desktop Java 23
8. Kemudian, ganti judul Tab tersebut menjadi Simple Dialog, dengan merubah di
properties:
11. Lengkapi hingga Tab berjumlah 4, kemudian tambahkan Jbutton sehingga tampilan untuk
masing-masing Tab adalah sbb :
12. Keterangan :
Komponen 1 s/d 8 adalah JButton, variable name untuk tiap button adalah sbb :
1 btnOK, 2 btnError, 3 btnKeluar, 4 btnYN, 5 btnYNC,
6 btnCustom, 7 btnPilihList, 8 btnPilihIsi
Pemrograman Desktop Java 25
btnError
private void btnErrorActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
JOptionPane.showMessageDialog(this,
"Belajar Java Harus Seriuss!!",
"Peringatan",
JOptionPane.ERROR_MESSAGE);
}
btnKeluar
private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
btnYN
private void btnYNActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int jwb = JOptionPane.showConfirmDialog(this,
"Belajar Java itu Mudah\nSetujukah Anda ?",
"Konfirmasi",
JOptionPane.YES_NO_OPTION);
if (jwb == 0)
JOptionPane.showMessageDialog(this,
"Anda Memilih Yes");
else
JOptionPane.showMessageDialog(this,
"NO adalah Pilihan Anda");
}
Pemrograman Desktop Java 26
btnYNC
private void btnYNCActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int jwb = JOptionPane.showConfirmDialog(this,
"Akan Menghapus Data"+"\nAnda Yakin ?",
"Konfirmasi",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE);
switch (jwb){
case 0: JOptionPane.showMessageDialog(this,"Jawab Yes");
break;
case 1: JOptionPane.showMessageDialog(this,"Jawab NO");
break;
case 2: JOptionPane.showMessageDialog(this,"Jawab Cancel");
break;
default :
JOptionPane.showMessageDialog(this,"Koq Gak Jawab?");
}
}
btnCustom
private void btnCustomActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Object[] options = {"Ya, Siip","Tidak, Trims","Krim Saja!"};
int jwb = JOptionPane.showOptionDialog(this,
"Anda mau minum Kopi dengan Gula ?",
"Pertanyaan",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE,
null,
options,
options[2]);
String respon;
switch (jwb){
case 0 : respon = "Ini Kopi plus Gulanya";break;
case 1 : respon = "OK, Kopi Saja ya";break;
case 2 : respon = "Kopi dan Krim Siap";break;
default : respon = "Koq gak Jawab Siy?";
}
JOptionPane.showMessageDialog(this,respon);
}
Pemrograman Desktop Java 27
btnPilihList
private void btnPilihListActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Object[] jawaban = {"Perut", "Kaki", "Hidung"};
String s = (String)JOptionPane.showInputDialog(this,
"Lengkapi Kalimat Berikut:\n"+
"\"Kepala,Pundak,Lutut, ...\"",
"Custom Dialog",
JOptionPane.PLAIN_MESSAGE,
null,
jawaban,
"Perut");
btnPilihIsi
private void btnPilihIsiActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String s = (String)JOptionPane.showInputDialog(this,
"Lengkapi Kalimat Berikut:\n"+
"\"Kepala,Pundak,Lutut, ...\"",
"Custom Dialog",
JOptionPane.PLAIN_MESSAGE,
null,
null,
"");
15. Dan bila dipilih di tab Option Dialog, kemudian memilih Tombol Custom Yes/No/Cancel
akan menghasilkan tampilan :
D. LATIHAN
Buatlah 1 button yang bila diklik akan memunculkan pertanyaan yang mirip dengan gambar di
atas (no. 15) yaitu “Anda mau Minum ?”, kemudian pilihan jawaban hanya ada 2 yaitu : “Mau”
dan “Tidak Mau”
Pemrograman Desktop Java 29
E. TUGAS
Dengan memanfaatkan showInputDialog dan showMessageDialog buatlah aplikasi
penjumlahan sederhana dengan tampilan sbb :
Pemrograman Desktop Java 30
MODUL 5
PENGELOLAAN FILE TEXT
A. TUJUAN
Maksud :
- Siswa mampu memahami teknik pengelolaan File Text
Tujuan :
- Menggunakan Class JFileChooser dan JEditorPane untuk mengelola Dokumen
berjenis Text
B. TEORI SINGKAT
Pemilih berkas menyediakan user interface berbasis grafis untuk mengelola sistem berkas
(file system), dan kemudian user dapat memilih file atau direktori dari daftar atau
memasukkan nama berkas atau direktori. Untuk menampilkan pemilih berkas dapat
digunakan Class JFileChooser yang menampilkan dialog modal yang secara default memuat
pemilih berkas.
C. PRAKTEK:
1. Jalankan NetBeans 8.1
2. Buat project baru bernama pmodul5
3. Tambahkan Form (JFrame Form) dengan nama fNotes
4. Kemudian agar Form fNotes dijalankan pertama kali bila program di –Run maka pada
program Main.java tambahkan kode berikut :
public static void main(String[] args) {
// TODO code application logic here
new fNotes().setVisible(true);
}
7. Skenario :
Aplikasi ini bertindak seperti notepad sederhana, sekedar untuk membuka file, mengedit,
dan menyimpannya. File yang bisa dibuka adalah yang memiliki extension : txt, java,
csv.
Suatu file baru otomatis akan diberi judul : Untitled. Judul akan berubah menjadi nama
file jika suatu file sudah disimpan atau sedang membuka file yang sudah tersimpan. Pada
kondisi file baru, penekanan tombol Save (simpan saja) akan memicu proses Save As
(simpan dengan nama), tetapi jika sudah pernah disimpan maka kedua tombol itu akan
mempunyai fungsi yang berbeda. Saat penyimpanan, jika nama file sudah ada akan
memunculkan pesan : “Apakah file yang sudah ada akan ditimpa? “, jika dijawab tidak
maka penyimpanan batal.
8. Langkah yang dilakukan, pertama import class yang dibutuhkan :
package pmodul5;
import javax.swing.*;
import java.io.*;
import javax.swing.filechooser.FileFilter;
Pada bagian paling bawah dari source : fNotes.java, sesudah variable declaration buatlah
method dan class baru sbb :
9. Method msg, untuk memudahkan dalam menampilkan pesan
private void msg(String pesan) {
// untuk memunculkan pesan dengan tombol OK
JOptionPane.showMessageDialog(this,pesan,"Informasi",
JOptionPane.INFORMATION_MESSAGE);
}
Pemrograman Desktop Java 32
10. Method okToReplace, untuk menampilkan pertanyaan File sudah ada, akan ditimpa?
private boolean okToReplace() {
//Jika Pilihan mengembalikan 0 (Yes) berarti true
return (JOptionPane.showConfirmDialog(this,
"File "+file.getName()+" Sudah Ada\n"+
"Akan Ditimpa ?",
"Peringatan",JOptionPane.YES_NO_OPTION)==0) ;
}
11. Method SimpanFile, untuk melakukan penyimpanan File yang sedang dibuka
private void SimpanFile() {
PrintWriter pw = null;
try {
pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
} catch (IOException e) {
msg("Gagal Simpan File : '" + file.getName());
return;
}
pw.print(editor.getText());
pw.close();
12. Class jenisFile , untuk melakukan filter file yang bisa dibuka
class jenisFile extends FileFilter {
private String[] s;
jenisFile(String[] sArg) {
s = sArg;
}
13. Untuk kelengkapan variabel dan seting lain ditunjukkan di bagian berikut ini (hati-hati,
bagian berikut ini merupakan potongan program, untuk penentuan lokasi penulisan
diberikan petunjuk tulisan yang dicetak tebal, jadi cari tulisan yang sama dengan yang
bercetak tebal, kemudian tulis dibawahnya):
public class fNotes extends javax.swing.JFrame {
// Siapkan variabel
JFileChooser fc;
File file;
boolean fileBaru;
final String[] EXT = { ".csv" };
final String[] EXT2 = { ".txt", ".java" };
public fNotes() {
initComponents();
//Saat di awal aplikasi
//Judul = Untitled
this.setTitle("Untitled - NOTES");
20. Setelah semua diketikkan dan aplikasi dijalankan (F6) maka akan memunculkan tampilan
sbb :
Pemrograman Desktop Java 36
21. Bila menekan tombol Open … maka akan muncul tampilan :
22. Apabila sudah memilih salah satu file, kemudian menekan Open maka akan muncul
tampilan :
D. LATIHAN
Modifikasilah program di atas agar bisa digunakan untuk membuka file : config.sys dan win.ini
E. TUGAS
1. Sebutkan persamaan dan perbedaan antara Class : JTextArea, JTextPane dan JEditorPane
2. Bagaimana caranya (atau apa statemen seting yang harus dilakukan) untuk membuat
OpenDialog dengan JFileChooser hanya memilih Directory saja (tanpa file)
Pemrograman Desktop Java 37
MODUL 6
APLIKASI IMAGE VIEWER
A. TUJUAN
Maksud :
- Siswa mampu memahami teknik pengaksesan dan menampilkan gambar
Tujuan :
- Membuat Class sendiri untuk melakukan filter file
- Menggunakan Class JScrollPane dan JLabel untuk menampilkan gambar
B. TEORI SINGKAT
Gambar atau image sering digunakan dalam suatu aplikasi, baik bertujuan untuk memperjelas
informasi atau juga sekedar untuk memperindah tampilan, akan tetapi beberapa aplikasi lain
memang bertujuan sebagai pengelola image. Pada praktikum kali ini akan dibahas bagaimana
menampilkan gambar ke dalam suatu form. Meskipun praktikum ini banyak menggunakan
komponen SWING untuk membangunnya, namun untuk gambar masih dibutuhkan
komponen AWT yaitu saat melakukan resize suatu ukuran gambar. Komponen SWING lebih
disukai karena memiliki proses internal yang memudahkan seperti Media Tracker, dan juga
dengan SWING akan mnegurangi terjadinya flicker saat menampilkan gambar yang cukup
besar.
C. PRAKTEK:
1. Jalankan NetBeans 8.1
2. Buat project baru bernama pmodul6
3. Tambahkan Form (JFrame Form) dengan nama fGambar
4. Kemudian agar Form fGambar dijalankan pertama kali bila program di –Run maka pada
program Main.java tambahkan kode berikut :
public static void main(String[] args) {
// TODO code application logic here
new fGambar().setVisible(true);
}
6. Keterangan :
1 Class : JButton
Variable Name : btnPilih
Text : Pilih Gambar …
2 Class : JButton
Variable Name : btnHapus
Text : Hapus Pilihan
3 Class : JList
Variable Name : lstDaftar
Model : [ … kosongkan …]
4 Class : JCheckBox
Variable Name : chkFit
Text : Fit Lebar Frame Gambar
5 Class : JScrollPane
Horizontal Size : 200
Vertical Size : 200
Horizontal Resizeable : false
Vertical Resizeable : false
6 Class : JLabel
Variable Name : lblGambar
Text : [ … kosongkan…]
7. Skenario :
User dapat memilih gambar dengan menekan tombol pilih gambar, setiap gambar yang
dipilih, path dan nama file gambarnya akan ditambahkan ke dalam list lstDaftar, untuk
menghapus gambar yang ada di daftar tinggal di klik salah satu gambar dan tekan tombol
Hapus Pilihan. Untuk menampilkan gambar dilakukan dengan meng-klik salah satu data
gambar dari daftar, maka otomatis gambar akan ditampilkan mengunakan lblGambar.
Ada dua kemungkinan yang terjadi : Jika status checkbox Fit Lebar Frame Gambar di
centang maka Jika gambar terlalu lebar maka gambar akan dirubah ukuran lebarnya
menjadi 200, sedangkan tingginya akan menyesuaikan., tetapi jika checkbox tersebut
tidak dicentang maka gambar akan ditampilkan apa adanya dan otomatis di sekitar
gambar akan muncul scrollbar untuk melihat bagian gambar yang tertutup.
8. Agar saat gambar yang terlalu besar bisa otomatis muncul scrollbar maka langkah
pembuatan desain form di atas untuk komponen no 5 dan 6 adalah sbb :
a. Tambahkan Class JScrollPane ke dalam form, atur properties seperti keterangan di
atas
b. Tambahkan Class JLabel ke dalam JScrollPane yang ditambahkan tadi
Pemrograman Desktop Java 39
9. Untuk membuat Class baru yang akan digunakan sebagai filter file langkahnya sbb :
10. Klik Kanan pada project : pmodul6
12. setelah diisi dan dklik Finish, maka akan terbentuk Class baru bernama jenisFile.java
13. Ketikkan kode program berikut ini (anda bisa lihat juga kode progam ini di modul 5,
tetapi dengan beberapa modifikasi disesuaikan dengan posisinya sebagai eksternal class),
catatan : yang dicetak tebal sudah dibuat otomatis oleh Netbeans, sehingga ketikkan saja
yang tidak tercetak tebal :
package pmodul6;
import javax.swing.filechooser.FileFilter;
import java.io.*;
Pemrograman Desktop Java 40
public class jenisFile extends FileFilter {
private String[] s;
14. Simpan Class tersebut di atas, kemudian kembali buka form fGambar, dan masuk ke
source
15. Kode-kode program berikut ini dituliskan di class fGambar.java
16. Lakukan import class yang diperlukan :
package pmodul6;
import java.awt.Image;
import javax.swing.*;
import java.io.*;
import javax.swing.filechooser.FileFilter;
Pemrograman Desktop Java 41
DefaultListModel gambar;
// buat konstanta untuk filter file
final String[] EXT= {".jpg", ".jpeg",".gif",".tiff",".png"};
20. Kode program pada lstDaftar, perhatikan bahwa untuk lstDaftar ini yang digunakan
adalah event saat list mendaptkan Klik mouse, sehingga untuk mengisikan kodenya
lakukan Klik Kanan pada komponen List lstDaftar, kemudian pilh Events | Mouse |
mouseClicked
private void lstDaftarMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
//Ambil nama file gambarnya
String nf = lstDaftar.getSelectedValue().toString();
// Jadikan Icon
ImageIcon gbr = new ImageIcon(nf);
// Jika CheckBox Fit ke Frame gambar di Check
if (chkFit.isSelected())
// buat gambar mempunyai lebar 200,
// dengan tinggi menyesuaikan
// menggunakan algoritma default
gbr = new ImageIcon(gbr.getImage().getScaledInstance(200,
-1, Image.SCALE_DEFAULT));
//tampilkan gambar
lblGambar.setIcon(gbr);
}
21. Bila sudah selesai, jalankan program (F6), sehingga akan memunculkan tampilan sbb :
22. Berikut ini tampilan saat gambar terlalu besar dengan kondisi Fit tidak diberi tanda check
:
Pemrograman Desktop Java 43
23. Berikut in tampilan gambar yang sama tetapi Kondisi Fit sudah diberi tanda check
D. LATIHAN
Modifikasilah program di atas agar pada saat CheckBox Fit diberi tanda centang, scrollbar
sama sekali tidak muncul (baik yang horizontal maupun yang vertikal)
E. TUGAS
Pemanfaatan gambar pada tombol, buat program sederhana yang berisi 2 buah Button,
keduanya memiliki gambar (gambar bebas) :
Pemrograman Desktop Java 44
Tetapi pada saat mouse menyentuh Button yang kedua (product & Service) maka tampilan
menjadi :