2016-05-31
Badiyanto, S.Kom, M.Kom
PERTEMUAN 4
JDialog dan JTextArea
Kode MK :
TI402UT
Revisi Terakhir :
2016
Tujuan Intruksional Mampu
menggunakan komponen JTextArea untuk membuat resume Mampu menggunakan komponen DialogBox
2
1
2016-05-31
Sub Pokok Bahasan JTextArea JDialogBox JOptionPane JSpinner
3
JTextArea JTextArea adalah kelas yang menyajikan teks. Mengisi bisa beberapa baris Biasanya untuk mengisikan suatu masukan yang bervariasi panjang isianya
◦ Misal: Memo/catatan Keterangan
4
2
2016-05-31
JTextArea
Contructor
TextArea() Menciptakan objek JTextArea dengan nilai awal sama string kosong TextArea(String s) Menciptakan objek JTextArea dengan nilai awal sama string TextArea(String s, int br, int kl) Menciptakan objek JTextArea dengan nilai awal sama string dan jumlah baris dan kolom TextArea(int br, int kl) Menciptakan objek JTextArea dengan nilai awal jumlah baris dan kolom
5
JTextArea
void append(String str) ◦ Menambahkan teks ke akhir dokumen.
int getColumns() ◦ Mengembalikan nilai tipe int, jumlah kolom dariTextArea
int getRows()
Mengembalikan nilai tipe int, jumlah baris dari TextArea
void setColumns(int col) ◦ menetapkan jumlah kolom 6
3
2016-05-31
JTextArea
void setFont(Font f) ◦ Menentukan jenis font
void setText(String s) ◦ Menentukan isi teks
String getText()
◦ Menghasilkan teks dari TextArea
void setLineWrap(boolean wrap)
◦ Mengatur perlipatan baris jika terdapat baris data yang melebihi panjang komponen true: pelitapan dilakukan false: tidak dilakukan
◦ Jika dilakukan baris yang panjang dijadikan lebih dari satu bari 7
Format Teks jTextArea1.setLineWrap(false);
8
4
2016-05-31
Format Teks
jTextArea1.setLineWrap(true);
9
contoh
private javax.swing.JButton btnOk; private javax.swing.JCheckBox cbElektro; private javax.swing.JCheckBox cbMusik; private javax.swing.JCheckBox cbNyayi; private javax.swing.JCheckBox cbORaga; private javax.swing.JCheckBox cbOto; private javax.swing.JCheckBox cbProg; private javax.swing.JTextArea taHoby; private javax.swing.JTextField tfNama; 10
5
2016-05-31
kejadian pada tombol “OK” private void btnOkActionPerformed(java.awt.event.ActionEvent evt) { String teks="Sdr :"+tfNama.getText()+"\nHoby Anda:\n"; if (cbNyayi.isSelected()) teks=teks+cbNyayi.getText()+"\n"; if (cbMusik.isSelected()) teks=teks+cbMusik.getText()+"\n"; if (cbORaga.isSelected()) teks=teks+cbORaga.getText()+"\n"; if (cbElektro.isSelected()) teks=teks+cbElektro.getText()+"\n"; if (cbOto.isSelected()) teks=teks+cbOto.getText()+"\n"; if (cbProg.isSelected()) teks=teks+cbProg.getText()+"\n"; taHoby.setText(teks); }
11
Penjelasan Ketika user mengklik Perintah if (cbNyayi.isSelected())
bernilai true atau false
Perintah teks=teks+cbNyayi.getText()+"\n Mengam nilai teks “Menyanyai” ke variabel teks, karater “\n” adalah ganti baris
12
6
2016-05-31
JDialogBox JDialog adalah sub kelas dari Windows yang berguna untuk membuat kotak dialog. Bisa digunakan untuk jendela masukkan Untuk menampilkan pesan:
◦ Pesan kesalahan ◦ Pesan Peringatan ◦ Pesan Petunjuk
13
JDialog constructor
JDialog() ◦ Menciptakan dialog non-modal tanpa gelar dan tanpa pemilik Bingkai ditentukan.
JDialog(Dialog owner) ◦ Menciptakan dialog non-modal tanpa jud dengan judul Dlialog tertentu sebagai pemiliknya.
JDialog(Dialog owner, String title, boolean modal) ◦ Menciptakan dialog modal atau non-modal dengan judul yang ditentukan dan bingkai pemilik ditentukan.
JDialog(Frame owner, String title) ◦ Menciptakan dialog non-modal dengan judul yang ditentukan dan dengan bingkai pemilik ditentukan. 14
7
2016-05-31
contoh Jdialog masuk dalam Other Components
15
Pemberian nama
16
8
2016-05-31
Form JFrame package per4; // @author badi import javax.swing.JDialog; import javax.swing.JOptionPane; public class NewJFrame1 extends javax.swing.JFrame { public NewJFrame1() { initComponents(); } ………….. }
17
Kode private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: opKeluar=new JOptionPane("Apakah Anda yakin keluar dari Form ini........?",JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION); dlgKeluar=opKeluar.createDialog(this,"Konfirmasi"); dlgKeluar.setVisible(true); if (opKeluar.getValue().toString().equals("0")) this.dispose(); } 18
9
2016-05-31
Hasil
19
JOptionPane Kelas JOptionPane merupakan kelas dari paket swing. Objek JOptionPane merupakan form berbentuk GUI dialog:
◦ ◦ ◦ ◦
jendela input : JOptionPane.showInputDialog() Konfirmasi : JOptionPane.showConfirmDialog() Informasi : JOptionPane.showMessageDialog() Kotak bisa di custom : showOptionDialog()
20
10
2016-05-31
Tipe Ikon Ikon Tipe
Nilai Id Keterangan
PLAIN_MESSAGE
-1
untuk menampilkan semua jenis lain dari pesan
ERROR_MESSAGE
0
Menampilkan pesan kesalahan
INFORMATION_MESSAGE
1
Menampilkan pesan informasi
WARNING_MESSAGE
2
Menampilkan pesan peringatan
QUESTION_MESSAGE
3
Menampilkan pertanyaan
21
Tipe Argument Tipe
Keterangan
DEFAULT_OPTION
Untuk tombol OK
OK_CANCEL_OPTION
Untuk tombol OK dan Cancel
YES_NO_CANCEL_OPTION
Untuk tombol YES, NO dan Cancel
YES_NO_OPTION
Untuk tombol YES, NO
22
11
2016-05-31
Konstanta Nilai Tombol Tipe
Keterangan
CANCEL_OPTION
Digunakan ketika tombol Cancel ditekan
CLOSE_OPTION
Digunakan ketika tombol Close ditekan
NO_OPTION
Digunakan ketika tombol NO ditekan
OK_OPTION
Digunakan ketika tombol OK ditekan
YES_OPTION
Digunakan ketika tombol YES ditekan
23
Konstruktor
JOptionPane Konstruktor
JOptionPane()
◦ Membuat JOptionPane dengan pesan.
JOptionPane(Object pesan)
◦ Menciptakan instan dari JOptionPane untuk menampilkan pesan menggunakan jenis pesan plainpesan dan pilihan default disampaikan oleh UI.
JOptionPane(Object ps, int tpPs)
◦ Menciptakan sebuah instance dari JOptionPane untuk menampilkan pesan dengan jenis pesan tertentu dan pilihan default 24
12
2016-05-31
JOptionPane
int showConfirmDialog(Component pc, Object ps) ◦ Menampilkan dialog dengan pilihan Yes, No dan Cancel; dengan judul, Opsi Pilihan. Contoh: javax.swing.JOptionPane.showConfirmDialog(this,"Pesan............");
25
import javax.swing.JOptionPane; public class NewJFrame extends javax.swing.JFrame { ………… private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: int jawab = JOptionPane.showConfirmDialog(this, "Ada Yakin ingin keluar dari Form ini ....?", "Konfirmasi", JOptionPane.YES_NO_OPTION); if (jawab==0) this.dispose(); } ………..
Ketika user klik YES jawab=0, NO jawab=1 26
13
2016-05-31
private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: int jawab = JOptionPane.showConfirmDialog(this, "AdaYakin ingin menghapus ....?", "Konfirmasi", JOptionPane.YES_NO_CANCEL_OPTION); if (jawab==JOptionPane.YES_OPTION) JOptionPane.showMessageDialog(null,"Pilihan AndaYes"); else if (jawab==JOptionPane.NO_OPTION) JOptionPane.showMessageDialog(null,"Pilihan Anda No"); else if (jawab==JOptionPane.CANCEL_OPTION) JOptionPane.showMessageDialog(null,"Pilihan Anda Cancel"); else JOptionPane.showMessageDialog(null,"Anda tidak memilih"); }
27
int JOptionPane.showMessageDialog() private void btnCekActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (tfNama.getText().isEmpty()) { JOptionPane.showMessageDialog(null,"Nama tidak boleh kosong"); tfNama.requestFocus(); return; } }
28
14
2016-05-31
if (jawab==JOptionPane.CANCEL_OPTION)
if (jawab==JOptionPane.NO_OPTION)
if (jawab==JOptionPane.YES_OPTION)
29
showOptionDialog() // TODO add your handling code here: Object[] options = {"Ya, Mau","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); }
30
15
2016-05-31
showOptionDialog() // TODO add your handling code here: Object[] options = {"Ya, Mau","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); }
Ketika user pilih “Ya mau” var jwb =0 “Tidak Trims” var jwb=1 “Kirim Saja” var jwb=2
31
showMessageDialog()
int JOptionPane.showMessageDialog() private void btnCekActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (tfNama.getText().isEmpty()) { JOptionPane.showMessageDialog(null,"Nama tidak boleh kosong"); tfNama.requestFocus(); return; } }
32
16
2016-05-31
Pesan Peringatan JOptionPane.showMessageDialog(this, "Belajar Java Harus Seriuss!!", "Peringatan", JOptionPane.ERROR_MESSAGE);
33
showInputDialog() 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"); //kalau s ada isinya,maka... if ((s != null) && (s.length() > 0)) { JOptionPane.showMessageDialog(this, "Kepala,Pundak,Lutut, " + s + "!"); } } 34
17