Modul 08 User Interface 01

advertisement
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
Download