Gambar 2.1 Hierarky sebagian kelas Java Awt (Biru) dan Kelas Java Swing (Hijau)
Konsep pemrograman GUI pada java secara umum sama seperti melakukan
pemrograman biasa, hanya saja dalam penempatan komponen-komponen GUI harus
disesuaikan dengan ketentuan-ketentuan bahasa Java. Berikut tersaji pada tabel 2.1,
pengelompokkan komponen-komponen dasar GUI java Swing.
Tabel 2.1 Pengelompokkan Komponen Dasar GUI Java
Swing
Top-Level Kontainer dasar dimana komponen JFrame, JDialog, dan
Container lainnya diletakkan JApplet
Intermediat Kontainer perantara dimana JPanel,
eContainer komponen lainnya diletakkan JScrollPane,
JTabbedPane,
JToolbar, JSplitPane
Atomic Komponen yang memiliki fungsi JButton,
Componen spesifik dan menerima interaksi JLabel,
t langsung dari user JTextArea, dsb
Dari tabel 2.1, dapat diturunkan komponen-komponen GUI yang sering dipakaiyakni,
tersaji dalam tabel 2.2.
B. Latihan 2
Komponen Jpanel
import javax.swing.*;
public class PraktikJPanel
{
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
JFrame myFrame = new JFrame ("My Frist
Frame");JPanel myPanel = new JPanel();
myFrame.getContentPane().add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
C. Latihan 3
Komponen JLabel
E. Latihan 5
Komponen JtextField
import javax.swing.*;
public class PraktikJTextArea {
//Pemanggilan JFrame
myPanel.add(myLabel);
myPanel.add(myButton);
myPanel.add(myNdButton);
myPanel.add(myTextArea);
myFrame.getContentPane().add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
F. Latihan 6
Komponen JcheckBox
import javax.swing.*;
public class PraktikJCheckBox {
Komponen JRadioButton
import javax.swing.*;
public class PraktikJRadioButton {
//Pemanggilan JFrame
myPanel.add(myLabel);
myPanel.add(myButton);
myPanel.add(myNdButton);
myPanel.add(myTextArea);
myPanel.add(myCbxOne);
myPanel.add(myCbxTwo);
myPanel.add(myCbxTree);
myPanel.add(myCbxFour);
myPanel.add(myRdoOne);
myPanel.add(myRdoTwo);
myFrame.getContentPane().add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
H. Latihan 8
Komponen Jlist
import javax.swing.*;
public class PraktikJList
{
* @param args the command line arguments
*/
public static void main(String[] args) {
String hari [] = {"Senin", "Selasa",
"Rabu","Kamis","Jumat","Sabtu","Ahad"};
//JFrame
JFrame myFrame = new JFrame ("My Frist Frame");
//JPanel
JPanel myPanel = new JPanel();
//JLabel
JLabel myLabel = new JLabel ("Label Pertama Ku...");
//JButton
JButton myButton = new JButton ("TOMBOL
1"); JButton myNdButton = new JButton
("TOMBOL 2nd");
//JTextArea
JTextArea myTextArea = new JTextArea("My Frist Text Area...",5,30);
//JCheckBox
JCheckBox myCbxOne = new JCheckBox("Libur masih
lama"); JCheckBox myCbxTwo = new JCheckBox("Libur
agak dekat"); JCheckBox myCbxTree = new
JCheckBox("Libur sudah dekat");JCheckBox myCbxFour
= new JCheckBox("Libur sudah tiba");
//JRadiButton
JRadioButton myRdoOne = new
JRadioButton("Putera",true); JRadioButton myRdoTwo
= new JRadioButton("Puteri",false);
//Button group untuk radio button haarus memakai
button groupButtonGroup grpRdo = new ButtonGroup();
grpRdo.add(myRdoOne);
grpRdo.add(myRdoTwo);
//JList
JList daftarHari = new
JList(hari);
daftarHari.setSelectedInde
x(0);
//Pemanggilan JFrame
myPanel.add(myLabel);
myPanel.add(myButton);
myPanel.add(myNdButton);
myPanel.add(myTextArea);
myPanel.add(myCbxOne);
myPanel.add(myCbxTwo);
myPanel.add(myCbxTree);
myPanel.add(myCbxFour);
myPanel.add(myRdoOne);
myPanel.add(myRdoTwo);
myPanel.add(daftarHari);
myFrame.getContentPane().add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
}
I. Latihan 9
Komponen JcomboBox
import javax.swing.*;
public class PraktikJComboBox {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String hari [] = {"Senin", "Selasa", "Rabu","Kamis","Jumat","Sabtu","Ahad"};
//JFrame
JFrame myFrame = new JFrame ("My Frist Frame");
//Jpanel
JPanel myPanel = new JPanel();
//JLabel
JLabel myLabel = new JLabel ("Label Pertama Ku...");
//JButton
JButton myButton = new JButton ("TOMBOL 1"); JButton
myNdButton = new JButton ("TOMBOL 2nd");
//JTextArea
JTextArea myTextArea = new JTextArea("My Frist Text Area...",5,30);
//JCheckBox
JCheckBox myCbxOne = new JCheckBox("Libur masih lama");
JCheckBox myCbxTwo = new JCheckBox("Libur agak dekat");
JCheckBox myCbxTree = new JCheckBox("Libur sudah dekat");
JCheckBox myCbxFour = new JCheckBox("Libur sudah tiba");
//JRadiButton
JRadioButton myRdoOne = new JRadioButton("Putera",true);
JRadioButton myRdoTwo = new JRadioButton("Puteri",false);
//JList
JList daftarHari = new JList(hari);
daftarHari.setSelectedIndex(0);
//JComboBox
JComboBox cbbHari = new JComboBox(hari);
//Pemanggilan JFrame
myPanel.add(myLabel);
myPanel.add(myButton);
myPanel.add(myNdButton);
myPanel.add(myTextArea);
myPanel.add(myCbxOne);
myPanel.add(myCbxTwo);
myPanel.add(myCbxTree);
myPanel.add(myCbxFour);
myPanel.add(myRdoOne);
myPanel.add(myRdoTwo);
myPanel.add(daftarHari);
myPanel.add(cbbHari);
myFrame.getContentPane().add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
}
J. Latihan 10
Komponen JoptionPane
import javax.swing.*;
public class PraktikJOptionPane {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
JFrame myFrame = new JFrame("JOptionPane Trial");
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JOptionPane.showMessageDialog(null, "Peringatan sebentar lagi
libur","Warning",JOptionPane.WARNING_MESSAGE);
myFrame.setSize
(400,400);
}
K. Case
• Latihan tata letak komponen GUI
import javax.swing.*;
public class Case {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String hari [] = {"Senin", "Selasa", "Rabu","Kamis","Jumat","Sabtu","Ahad"};
//JFrame
JFrame myFrame = new JFrame ("My Frist Frame");
//JPanel
JPanel myPanel = new JPanel(null);
//JLabel
JLabel myLabel = new JLabel ("Label Pertama Ku...");
//JButton
JButton myButton = new JButton ("TOMBOL 1");
JButton myNdButton = new JButton ("TOMBOL 2nd");
//JTextArea
JTextArea myTextArea = new JTextArea("My Frist Text Area...",5,30);
//JCheckBox
JCheckBox myCbxOne = new JCheckBox("Libur masih lama");
JCheckBox myCbxTwo = new JCheckBox("Libur agak dekat");
JCheckBox myCbxTree = new JCheckBox("Libur sudah dekat");
JCheckBox myCbxFour = new JCheckBox("Libur sudah tiba");
//JRadiButton
JRadioButton myRdoOne = new JRadioButton("Putera",true);
JRadioButton myRdoTwo = new JRadioButton("Puteri",false);
//JList
JList daftarHari = new JList(hari);
daftarHari.setSelectedIndex(0);
//JComboBox
JComboBox cbbHari = new JComboBox(hari);
//Pemanggilan JFrame
myPanel.add(myLabel);
myLabel.setBounds(130, 10, 150, 30);
myPanel.add(myButton);
myButton.setBounds(20, 100, 120, 30);
myPanel.add(myNdButton);
myNdButton.setBounds(150, 100, 120, 30);
myPanel.add(myTextArea);
myTextArea.setBounds(20, 50, 300, 30);
myPanel.add(myCbxOne);
myCbxOne.setBounds(20, 135, 130, 30);
myPanel.add(myCbxTwo);
myCbxTwo.setBounds(160, 135, 130, 30);
myPanel.add(myCbxTree);
myCbxTree.setBounds(20, 160, 130, 30);
myPanel.add(myCbxFour);
myCbxFour.setBounds(160, 160, 130, 30);
myPanel.add(myRdoOne);
myRdoOne.setBounds(20, 190, 130, 30);
myPanel.add(myRdoTwo);
myRdoTwo.setBounds(20, 210, 130, 30);
myPanel.add(daftarHari);
daftarHari.setBounds(20 ,240 ,50, 140);
myPanel.add(cbbHari);
cbbHari.setBounds(150 ,240 ,100, 30);
myFrame.getContentPane().add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
}
UNGUIDED
Buatlah suatu interface / tampilan antar muka yang unik dan bagus untuk sebuah
program !. Cukup interfacenya saja. Cari Ide program yang sederhana dan unik.
Tugas ini akan berkaitan dengan tugas praktikum pertemuan berikutnya, yakni
melengkapi komponen-komponen yang kalian pakai pada interface yang telah kalian
buat dengan event handler sehingga menjadi program yang benar-benar bisa berjalan.
Jawaban :
Nom or Rekening