Modul 08 User Interface 01 Materi : 1. Mengenal dan mengetahui komponen package awt dan swing untuk membuat user interface
1. Konsep Dasar Swing dan awt merupakan package yang berguna untuk membangun aplikasi dengan Graphical User Interface (GUI). Package javax.swing* berisi class-class yang dapat dipakai untuk membangun tampilan serta interaksi antara pengguna dengan program. Swing dibangun diatas arsitektur Abstract Window Toolkit (AWT) yang mempunyai banyak kekurangan sehingga diperbaiki dengan adanya Swing. Komponen dasar swing secara umum dibagi menjadi lima bagian: 1. Top-Level Container, merupakan container dasar dimana komponen lainya akan diletakan. Contoh Frame, Dialog dan Applet. 2. Itermediate Container, merupakan container perantara dimana komponen lainnya akan diletakan. Contoh Pane, dengan class Jpanel. 3. Atomic Componet, komponen yang mempunyai fungsi yang spesifik. Pada umumnya user langsung berinteraksi dengan komponen jenis ini. Contoh butto, label, text field dan text area. Contoh class nya JButton, JLabel dan lainnya. 4. Layout Manager, mengatur tata letak atau posisi suatu komponen. Contoh class BorderLayout, BoxLayout, FlowLayout, GridBagLayout dan GridLayout. 5. Event Handling, untuk penanganan event yang dilakukan oleh user, seperti menekan tombol, klik mouse dan lain-lain.
Percobaan 01: import java.awt.Container; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextField;
public class GUI1 { public GUI1() { JFrame frame = new JFrame(); JButton btnHalo = new JButton("Halo Sayang"); JButton btnSelamatTinggal = new JButton("Selamat Tinggal"); JTextField txtPesan = new JTextField(20); txtPesan.setText("Coba Buat Antarmuka");
Container contentPane = frame.getContentPane(); contentPane.setLayout(new FlowLayout());
contentPane.add(btnHalo); contentPane.add(btnSelamatTinggal); contentPane.add(txtPesan);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.show(); }
public static void main(String[] args) { new GUI1(); }
Hasil tampilannya :
Keterangan : -
Pada code frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); menunjukan jenis aktivitas pada frame.
-
Rubahlah jenis aktivitas lainya dengan: DO_NOTHING_ON_CLOSE , HIDE_ON_CLOSE , DISPOSE_ON_CLOSE dan EXIT_ON_CLOSE.
Percobaan 02: import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextField;
public class GUI2 { public GUI2(){ JFrame frame = new JFrame(); JButton btnHalo = new JButton("Halo Sayang"); JButton btnSelamatTinggal = new JButton("Selamat Tinggal"); final JTextField txtPesan = new JTextField(20); txtPesan.setText("Coba Buat Antarmuka");
btnHalo.addActionListener (new ActionListener() { public void actionPerformed(ActionEvent event) { txtPesan.setText("Halo Sayang, Apa kabar ?"); } });
btnSelamatTinggal.addActionListener (new ActionListener() { public void actionPerformed(ActionEvent event) { txtPesan.setText("Selamat Tinggal Sayang"); } });
Lanjutan Percobaan02: Container contentPane = frame.getContentPane(); contentPane.setLayout(new FlowLayout()); contentPane.add(btnHalo); contentPane.add(btnSelamatTinggal); contentPane.add(txtPesan);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.show(); } public static void main(String[] args) { new GUI2(); } }
Hasil :
Klik tombol hallo saying :
Klik tombol Selamat Tinggal :
Keterangan : -
Class ActionListener adalah listener interface dengan event class ActionEvent , tindakan oleh user yang mengakibatkan event dengan mengKlik suatu tombol.
-
Void actionPerformed, method yang dipanggil ketika event Action terjadi.
Percobaan 03: import javax.swing.JOptionPane; //MessageDialog public class GUI3 { public static void main(String args[]){ JOptionPane.showMessageDialog(null,"Informasi sekilas."); JOptionPane.showMessageDialog(null, "Isi Informasi seklias.", "Judul", JOptionPane.WARNING_MESSAGE); } }
Hasil :
Keterangan : -
showMessageDialog, menampilkan informasi/pesan kepada pengguna.
Percobaan 04: import javax.swing.JOptionPane; //dialog democonfrim public class GUI4 { public static void main(String args[]){ int respons1 = JOptionPane.showConfirmDialog(null, "Apakah data akan diproses?"); int respons2 = JOptionPane.showConfirmDialog(null, "Pemrosesan gagal. Ulangi lagi?", "Proses gagal", JOptionPane.YES_NO_OPTION, JOptionPane.ERROR_MESSAGE); }
Hasil :
Keterangan : -
showConfirmdialog, digunakan untuk melakukan konfirmasi kepada pengguna tentang sesuatu hal. Pilihan yang muncul bisa Yes, No dan Cancel.
Percobaan 05: import javax.swing.JOptionPane; public class GUI5 { // showInputDialog public static void main(String args[]){ String respons3 = JOptionPane.showInputDialog(null,"Masukkan data"); String respons4 = JOptionPane.showInputDialog(null, "Masukkan umur Anda sekarang","Umur",JOptionPane.QUESTION_MESSAGE);
}
Keterangan : -
showInputDialog, digunakan untuk mengolah data yang dimasukan oleh pengguna program.
Percobaan 06: import javax.swing.JFrame; import javax.swing.JOptionPane;
public class GUI6 { public static void main(String[] args){ JFrame frame = new JFrame("Semangat Terus judule"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show();
int result=JOptionPane.showConfirmDialog(frame,"Pilih OK atau Cancel?", " Title Konfirmasi",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE); String message; if (result==JOptionPane.OK_OPTION) message=" Anda Pilih OK"; else if(result==JOptionPane.CANCEL_OPTION) message=" Anda Pilih Cancel"; else message="Anda tidak jelas Krn tidak memilih apapun"; JOptionPane.showMessageDialog(frame, message,"Pilihan Anda",JOptionPane.INFORMATION_MESSAGE); } }
2. Tugas Praktikum 1. Pada latihan percobaan02, tambahkan komponen JButton yang mempunyai fungsi untuk menghapus isi pada textpesan. Contoh hasilnya:
Contoh Klik Halo Sayang:
Jika Klik Hapus maka isi di textpesan akan hilang :
2. Buat program dengan menggunakan JDialog dengan menggunakan showInputDialog dan showMessageDialog, seperti output dibawah ini : -
Tampilan awal :
-
Masukan nama, Contoh : Adara Shauna Rahim