Event
Event adalah perubahan di dalam sebuah komponen, seperti penekanan tombol keyboard, click mouse atau hover mouse. Java menggunakan Model Event Delegasi untuk menangani event. Model ini mendefinisikan mekanisme standard untuk membuat dan menangani event. Model Event Delegasi memiliki kunci partisipasi yang bernama:
- Source – Source adalah sebuah object yang mana event terjadi. Source bertugas untuk menyediakan informasi dari event yang terjadi ke handlernya. Java meneyediakannya sebagai class untuk object sumber.
- Listener – Dikenal juga sebagai event handler. Listener bertugas untuk membuat respon ke event. Listener juga merupakan object. Saat event di terima, listener mengolah event dan kemudian mengembalikannya.
Contoh langkah-langkah di dalam Event handling:
- User mengclick button dan event terjadi.
- Object berada pada class event yang dibentuk otomatis dan informasi tentang sumber dan event yang terbentuk di dalam object yang sama.
- Event object di forward ke method dari class listener registered.
- Method saat ini di eksekusi dan return.
CONTOH PENGAMBILAN NILAI PADA SWING
Komponen
Swing
|
Penjelasan
|
JComponent
|
Kelas induk untuk semua komponen Swing, tidak termasuk top-level kontainer
|
JButton
|
Tombol “push”. Korespondesi pada button class dalam package AWT
|
JCheckBox
|
Item yang dapat dipilih atau tidak oleh pengguna. Korespondensi pada checkbox classdalam package AWT
|
JFileChooser
|
Mengijinkan pengguna untuk memilih sebuah file. Korespondensi pada filechooser class dalam package AWT
|
JTextField
|
Mengijinkan untuk mengedit text satu baris. Korespondensi pada textfield class dalam package AWT.
|
JFrame
|
Turunan dan korepondensi pada frame class dalam package AWT tetapi keduanya sedikit tidak cocok dalam kaitannya dengan menambahkan komponen pada kontainer. Perlu mendapatkan content pane yang terbaru sebelum menambah sebuah komponen.
|
JPanel
|
Turunan Jcomponent. Kontainer class sederhana tetapi bukan top-level. Korespondensi pada panel class dalam package AWT.
|
JApplet
|
Turunan dan korepondensi ke Applet class dalam package AWT. Juga sedikit tidak cocok dengan applet class dalam kaitannya dengan menambahkan komponen pada kontainer
|
JOptionPane
|
Turunan Jcomponent. Disediakan untuk mempermudah menampilkan pop- up kotak dialog.
|
JDialog
|
Turunan dan korespondensi pada dialog class dalam package AWT. Biasanya digunakan untuk menginformasikan sesuatu kepada pengguna atau prompt pengguna untuk input.
|
JColorChooser
|
Turunan Jcomponent. Mengijinkan pengguna untuk memilih warna
|
Langkah memulai program :
1. Buka Netbeans
2. Jalankan menu file > New Project > isi nama project
3. Klik kanan pada project yang sudah di buat New > JFrame Form
4. Isi class name
5. Finish
Tampilan Form Editor
Swing menyediakan banyak sekali komponen. Beberapa komponen yang dibahas antara lain JLabel, JTextField, JButton, dan JRadioButton.
- JLabel
Komponen JLabel memiliki sejumlah konstruktor sebagaimana dapat dilihat pada tabel berikut.
Konstruktor
|
Keterangan
|
JLabel()
|
Menciptakan objek JLabel tanpa teks dan gambar
|
JLabel(Icon gambar)
|
Menciptakan objek JLabel tanpa teks, tetapi dengan ikon berupa gambar
|
JLabel (Icon gambar, int pengaturanHorisontal)
|
Menciptakan objek JLabel tanpa teks, tetapi dengan ikon berupa gambar dan diatur menurut pengaturan horisontal
|
JLabel(String teks)
|
Menciptakan objek JLabel dengan tulisan sesuai teks
|
JLabel(String teks, Icon gambar, int pengaturanHorisontal)
|
Menciptakan objek JLabel yang melibatkan teks dan gambar dan diatur menurut pengaturanHorisontal
|
JLabel(String teks, int pengaturanHorisontal)
|
Menciptakan objek JLabel dengan tulisan sesuai dengan teks dan diatur menurut pengaturan Horisontal
|
Beberapa metode penting pada JLabel dapat dilihat pada tabel berikut :
Metode
|
Keterangan
|
getText()
|
Untuk memperoleh teks pada label
|
setText()
|
Untuk mengubah teks pada label
|
SetIcon(Icon gambar)
|
Untuk mengubah gambar pada ikon
|
- Drag dan drop label pada swing control
- Ganti text dengan Nim
![]() |
- JTextField
Konstruktor
|
Keterangan
|
JTextField()
|
Membuat objek JTextField dengan nilai awal sama string kosong
|
JTextField(String teks)
|
Membuat objek JTextField dengan nilai awal sama string teks
|
JTextField(String teks, int kolom)
|
Membuat objek JtextField dengan niliai awal sama string teks dan jumlah kolom sebanyak kolom
|
- Drag dan drop JTextField
- Drag dan frop JPasswordField
- Buat seperti tampilan dibawah ini :
- JButton
Konstruktor
|
Keterangan
|
JButton()
|
Menciptakan sebuah objek JButton tanpa judul dan ikon
|
JButton(Icon ikon)
|
Menciptakan sebuah objek JButton yang dilengkapi dengan ikon
|
JButton(String teks)
|
Menciptakan sebuah objek JButton yang dilengkapi dengan judul
|
JButton(String teks, Icon ikon)
|
Menciptakan sebuah objek JButton yang dilengkapi dengan judul dan ikon
|
- Drag dan drop JButton
String Username,UPassword = new String("");
Username =eNim.getText();
UPassword = new String(ePwd.getPassword());
boolean Pernyataan = Username.equals("admin") && UPassword.equals("123");
if (Pernyataan == true){
JOptionPane.showConfirmDialog(null,"Benar","Login",JOptionPane.DEFAULT_OPTION);
}else{
JOptionPane.showConfirmDialog(null,"Login Anda Salah","Login",JOptionPane.DEFAULT_OPTION);
}
}
- JComboBox
JComboBox(Object[] daftar item)
Nilai yang dipilih pada kotak kombo bisa diperoleh. Perlu diketahui, getSelectedItem() menghasilkan item yang sedang disorot. Hasilnya bertipe Object. Itulah sebabnya jika objek yang terdapat pada kotak kombo adalah string, maka diperlukan untuk mengkonversi ke String dengan memberikan (String).
Berikut adalah contoh tampilan menggunakan JComboBox
- Drag dan drop JComboBox
- Ganti semua nama variable
int IndexCombo;
String Pilihan;
IndexCombo = cbAgama.getSelectedIndex(); //mengambil nilai index objek
Pilihan = (String)cbAgama.getSelectedItem(); //konversi ke string
hasil.setText(Pilihan); //untuk menampilkan hasil ke variabel hasil (textfield)
}
- Tambahkan JButton hapus dan keluar
Tulis program seperti dibawah ini pada button hapus
Berikut adalah contoh penggunaan JRadioButton :
- Drag dan drop JradioButton
- Susun seperti dibawah ini
eNim.setText("");
eNama.setText("");
cbAgama.setSelectedIndex(0); //untuk mengembalikan ke nilai semula
}
Pada button keluar
System.exit(0);
- JRadioButton dan ButtonGroup
Berikut adalah contoh penggunaan JRadioButton :
- Drag dan drop JradioButton
- Ubah button group menjadi Jenis K begitu juga pada JRadioButton Pria hal ini berfungsi agar merelasikan antar radio button agar tidak bisa dipilih keduanya
- Ubah semua variabel yang ada di Jframe
Masukkan code berikut pada rbWanita :
if(rbWanita.isSelected()){
tHasil.setText("Wanita"); //menampilkan kedalam variabel tHasil
}
}
Masukkan code berikut pada rbPria
if(rbPria.isSelected()){
tHasil.setText("Pria"); //menampilkan kedalam variabel tHasil
}
}
- JCheckBox
CheckBox adalah komponen yang biasa digunakan untuk memilih salah satu pilihan di antara dua kemungkinan. Konstruktor kelas ini dapat dilihat pada tabel berikut.
Konstruktor
|
Keterangan
|
JCheckBox(String teks)
|
Menciptakan objek JCheckBox dengan label berupa teks dan nilai keadaan kotak cek diisi dengan false
|
JCheckBox(String teks, Boolean keadaan)
|
Menciptakan objek JCheckBox dengan label berupa teks dan nilai keadaan kotak diisi dengan nilai pada keadaan
|
JCheckBox(String teks, Icon ikon, Boolean keadaan)
|
Menciptakan objek JCheckBoc denga label berupa teks, dilengkapi dengan ikon, dan nilai keadaan kotak cek diisi dengan nilai pada keadaan
|
JCheckBox(String teks, Icon ikon, Boolean keadaan)
|
Menciptakan objek JCheckBox dengan label berupa teks, dilengkapi dengan ikon, dan nilai keadaan kotak diisi dengan nilai false
|
Berikut adalah contoh penggunaan JCheckBox :
- Drag dan drop JCheckBox
- JTextArea
JtextArea adalah kelas yang memungkinkan menyajikan teks yang terdiri dari beberapa baris. Tabel dibawah ini memperhatikan beberapa konstruktor kelas ini.
Konstruktor
|
Keterangan
|
TextArea()
|
Membuat objek JtextArea dengan nilai awal sama string kosong
|
TextArea(String teks)
|
Membuat objek JtextArea dengan nilai awal sama string teks
|
TextArea(String teks, int baris,int kolom)
|
Membuat objek JtextArea dengan nilai awal sama string teks dan jumlah kolom sebanyak kolom serta baris sebanyak baris
|
TextArea(int baris, int kolom)
|
Membuat objek JtextArea dengan nilai awal berupa string kosong sebanyak kolom serta baris sebanyak baris
|
Metode
|
Keterangan
|
replaceRange(String str, int awal, int akhir)
|
Mengganti teks pada JtextArea dimulai dari posisi awal hinga sebelum posisi akhir dengan string str. Perlu diketahui, posisi teks berbasis nol
|
getRows()
|
Menghasilkan nilai bertipe int yang menyatakan jumlah baris dalam JTextArea
|
setRows(int n)
|
Membuat jumlah baris pada JTextArea sebesar n baris
|
getColumns()
|
Menghasilkan nilai bertipe int yang menyatakan jumlah kolom dalam JTextArea
|
setColumns(int n)
|
Membuat jumlah kolom pada JTextArea sebesar n kolom
|
getText()
|
Menghasilkan teks pada JTextArea
|
setText(String teks)
|
Mengubah isi JTextArea dengan teks
|
setFont(Font namaFont)
|
Untuk menentukan font
|
SetLineWrap(boolean pelipatan)
|
Untuk mengatur pelipatan baris jika terdapat baris data yang melebihi komponen ini
- True : pelipatan dilakukan
- False : tidak dilakukan pelipatan
Jika peliipatan dilakukan, baris yang panjang akan dijadikan lebih dari satu baris
|
SetWrapStyleWord(boolean kata)
|
Jika argumen bernilai true maka pelipatan akan didasarkan pada satu kata
|
Append(String st)
|
Menambahkan string di akhir objek JTextArea
|
Berikut ini adalah contoh penggunaan JTextArea :
- Drag dan drop JTextArea
- Drag dan drop JTextArea
- Klik 2x pada button proses
Tuliskan program seperti dibawah ini :
int IndexCombo;
String Pilihan;
char Kelamin;
String daftarHoby="";
IndexCombo=cbAgama.getSelectedIndex();
Pilihan = (String)cbAgama.getSelectedItem();
if (rbPria.isSelected())
Kelamin = 'P';
else
Kelamin = 'W';
if(cbMenari.isSelected())
daftarHoby+=cbMenari.getText()+""+",";
if(cbMemasak.isSelected())
daftarHoby+=cbMemasak.getText()+""+",";
if(cbBadminton.isSelected())
daftarHoby+=cbBadminton.getText()+""+",";
if(cbMenyanyi.isSelected())
daftarHoby+=cbMenyanyi.getText()+""+",";
if(cbRenang.isSelected())
daftarHoby+=cbRenang.getText()+""+",";
if(cbTidur.isSelected())
daftarHoby+=cbTidur.getText()+""+",";
taHoby.setText(
"NIM :\t"+eNim.getText()+"\n"+
"Nama :\t"+eNama.getText()+"\n"+
"Agama :\t"+Pilihan+"\n"+
"Kelamin :\t"+Kelamin+"\n"+
"Hoby :\t"+daftarHoby+"\n"
);
}
sources; https://irvanvansr.blogspot.com























