Laporan modul 10 pbp
MODUL X
GUI
A. Dasar Teori
GUI (Grafic User Interface), memungkinkan user untuk berinteraksi dengan komputer secara lebih baik. Pengguna berinteraksi dengan berbagai elemen grafis, diantaranya : button, dialog box, menu, dsb. Sejak 1994 Sun Microsystem berupaya untuk membuat JAVA memiliki perangkat bergaya desktop dengan Toolkit JAVA yang dikenal sebagai AWT (Abstract Windowing Toolkit). Tahun 1997, muncul JFC (Java Foundation Class) untuk kepentingan pembuatan aplikasi Window yang merupakan pengembangan dari AWT. JFC mempunyai kode swing yang terdapat pada package yang disediakan pada JAVA SDK versi 1.2 ke atas (JAVA 2).
JAVA menyediakan dua graphical library
- AWT (Abstract Windowing Toolkit)
- Swing
Import java.awt.*;
Import java.awt.event.*;
import javax.swing.*;
Graphical Object
- Container (tempat), obyek yang dapat menampung komponen grafis dan tempat yang lebih kecil. contoh : frames, panels
- Component, obyek grafis yang berfungsi untuk menampilkan data, menerima masukan, atau menunjukan suatu kondisi. contoh : buttons, labels, text fields,
- Event, obyek yang merepresentasikan suatu kejadian. contoh : gerakan mouse, penekanan tombol
- Listener, suatu obyek yang menunggu suatu kejadian khusus dan akan bereaksi (melakukan sesuatu) jika kejadian tersebut terjadi
- showConfirmDialog
- showInputDialog
- showMessageDialog
- showOptionDialog
Praktikum
JFrame sebagai Class Utama
Untuk membuat sebuah window (atau disebut juga dengan frame) dapat dilakukan dengan 2 cara.
Yang pertama adalah dengan membuat objek dari class JFrame.
Praktikum 1
1. Buatlah Project Baru di Netbeans dengan nama Modul10PBO2. Buat File Empty Java File Baru
3. Ketikan Source Code berikut ini dan simpan dengan nama file Praktikum1.java
4. Run File Praktikum1.java, lalu amati hasilnya !
Praktikum 2
1. Buat File Empty Java File Baru
2. Ketikan Source Code berikut ini dan simpan dengan nama file Praktikum2.java
3. Run File Praktikum2.java, lalu amati hasilnya !
Praktikum 3
1. Buat File Empty Java File Baru
2. Ketikan Source Code berikut ini dan simpan dengan nama file Praktikum3.java
3. Run File Praktikum3.java, lalu amati hasilnya !
Latihan / Post Test
1. Buatlah Program GUI dengan mengimplementasikan komponen JFrameFrom, JLabel, JTextField, dan Button.
1. Buat File Empty Java File Baru
2. Ketikan Source Code berikut ini dan simpan dengan nama file Posttest.java
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class Posttest extends JFrame implements ActionListener{
JLabel user, pass, form;
JTextField txtuser;
JPasswordField txtpass;
JButton login = new JButton();
public Posttest(){
form = new JLabel();
form.setFont(new Font("times new roman",1,18));
form.setText("FORM LOGIN");
form.setBounds(170, 10, 140, 20);
add(form);
user = new JLabel();
user.setFont(new Font("times new roman",1,12));
user.setText("NAMAAKUN");
user.setBounds(80, 40, 100, 25);
add(user);
txtuser = new JTextField();
txtuser.setFont(new Font("times new roman",1,12));
txtuser.setBounds(200, 40, 200, 25);
add(txtuser);
pass = new JLabel();
pass.setFont(new Font("times new roman",1,12));
pass.setText("PASSWORD");
pass.setBounds(80, 75, 100, 25);
add(pass);
txtpass = new JPasswordField();
txtpass.setFont(new Font("times new roman",1,12));
txtpass.setBounds(200, 75, 200, 25);
add(txtpass);
login.setFont(new Font("times new roman",1,12));
login.setBounds(200, 110, 100, 25);
login.setText("LOGIN");
login.addActionListener(this);
add(login);
/*JFrame*/
this.setLayout(null);
this.setLocationRelativeTo(null);
this.setTitle("Created By Andri Andrian");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(480, 190);
this.setVisible(true);
}
public static void main(String[] args){
JFrame.setDefaultLookAndFeelDecorated(true);
Posttest pt = new Posttest();
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("LOGIN")){
if(txtuser.getText().equals("") && txtpass.getText().equals("")){
JOptionPane.showMessageDialog(null, "Isi Namaakun dan Password dengan benar!");
}else{
JOptionPane.showMessageDialog(null, "Login Berhasil!");
}
}
}
}
3. Run File Posttest.java, lalu amati hasilnya !
Tugas Individu
Untuk melatih kemampuan anda dalam memahami GUI di Java, buatlah form berikut ini dengan menggunakan text editor semisal Jcreator atau Notepad++ atau Edit Plus (bukan GUI Editor/IDE semisal Netbeans). Gunakan Layout Management yang ada selain null layout.
1. Buat File Empty Java File Baru
2. Ketikan Source Code berikut ini dan simpan dengan nama file Tugasindividu.java
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class tugasindividu extends JFrame implements ActionListener{
JLabel judul = new JLabel();
JLabel nim = new JLabel();
JLabel nama = new JLabel();
JLabel alamat = new JLabel();
JLabel jenkel = new JLabel();
JLabel prodi = new JLabel();
JLabel jurusan = new JLabel();
JTextField f_nim = new JTextField();
JTextField f_nama = new JTextField();
JRadioButton rd_l, rd_p;
JTextArea ja_alamat = new JTextArea();
JScrollPane scroll;
JComboBox jc_prodi, jc_jurusan;
JButton simpan = new JButton();
JButton baca = new JButton();
JButton keluar = new JButton();
JComboBox box;
JRadioButton rd, rd1, rd2;
ButtonGroup br;
public tugasindividu(){
judul.setFont(new Font("times new roman", 1, 18));
judul.setText("BIODATA MAHASISWA");
judul.setBounds(170, 10, 240, 20);
add(judul);
nim.setFont(new Font("times new roman", 1, 12));
nim.setText("NIM");
nim.setBounds(40, 60, 90, 25);
add(nim);
f_nim.setFont(new Font("times new roman", 1, 12));
f_nim.setBounds(180, 60, 170, 25);
add(f_nim);
nama.setFont(new Font("times new roman", 1, 12));
nama.setText("NAMA");
nama.setBounds(40, 100, 90, 25);
add(nama);
f_nama.setFont(new Font("times new roman", 1, 12));
f_nama.setBounds(180, 100, 270, 25);
add(f_nama);
alamat.setFont(new Font("times new roman", 1, 12));
alamat.setText("ALAMAT");
alamat.setBounds(40, 130, 100, 25);
add(alamat);
ja_alamat.setText("");
ja_alamat.setBounds(170, 130, 290, 60);
scroll = new JScrollPane(ja_alamat);
scroll.setBounds(180, 130, 340, 60);
add(scroll);
jenkel.setFont(new Font("times new roman", 1, 12));
jenkel.setText("JENIS KELAMIN");
jenkel.setBounds(40, 210, 140, 25);
add(jenkel);
rd_l = new JRadioButton("Pria");
rd_l.setFont(new Font("times new roman", 1, 12));
rd_l.setBounds(180, 210, 70, 25);
add(rd_l);
rd_p = new JRadioButton("Wanita");
rd_p.setFont(new Font("times new roman", 1, 12));
rd_p.setBounds(280, 210, 70, 25);
add(rd_p);
prodi.setFont(new Font("times new roman", 1, 12));
prodi.setText("PROGRAM STUDI");
prodi.setBounds(40, 250, 140, 25);
add(prodi);
String pilih[] = {"PILIH","SI","TI","MI"};
jc_prodi = new JComboBox(pilih);
jc_prodi.setFont(new Font("times new roman", 1, 12));
jc_prodi.setBounds(180, 250, 140, 25);
add(jc_prodi);
jurusan.setFont(new Font("times new roman", 1, 12));
jurusan.setText("PROGRAM STUDI");
jurusan.setBounds(50, 285, 140, 25);
add(jurusan);
jc_jurusan = new JComboBox();
jc_jurusan.setFont(new Font("times new roman", 1, 12));
jc_jurusan.setBounds(180, 290, 160, 25);
jc_jurusan.addItem("PILIH");
jc_jurusan.addItem("SISTEM INFORMASI");
jc_jurusan.addItem("TEKNIK INFORMATIKA");
jc_jurusan.addActionListener(this);
add(jc_jurusan);
simpan.setFont(new Font("times new roman", 1, 12));
simpan.setText("SIMPAN");
simpan.setBounds(50, 340, 140, 25);
simpan.addActionListener(this);
add(simpan);
baca.setFont(new Font("times new roman", 1, 12));
baca.setText("BACA DATA");
baca.setBounds(200, 340, 140, 25);
baca.addActionListener(this);
add(baca);
keluar.setFont(new Font("times new roman", 1, 12));
keluar.setText("KELUAR");
keluar.setBounds(360, 340, 140, 25);
keluar.addActionListener(this);
add(keluar);
/*inisiasi frame*/
this.setLayout(null);
this.setSize(600, 500);
this.setLocationRelativeTo(null);
this.setTitle("Form Biodata Mahasiswa");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args){
JFrame.setDefaultLookAndFeelDecorated(true);
tugasindividu in = new tugasindividu();
}
@Override
public void actionPerformed(ActionEvent e) {
}
}
3. Run File Tugasindividu.java, lalu amati hasilnya !
DAFTAR PUSTAKA
Modul Praktikum Pemrograman Berorientasi objek UNIKU
Komentar
Posting Komentar