SlideShare a Scribd company logo
1 of 14
Download to read offline
Modul PBO – Teknokrat
80
KOMPONEN SWING
Tujuan
Praktikan dapat memahami dan menjelaskan komponen-komponen Swing pada Java
GUI dalam pemrograman Java.
SWING PACKAGE
Untuk membangun aplikasi GUI desktop Swing toolkit menyediakan banyak sekali komponen yang
dapat digunakan. Selain itu Swing toolkit juga menyediakan kelas-kelas untuk menangani interaksi
(event) antara aplikasi dan pengguna menggunakan standar input seperti keyboard atau mouse.
Secara umum dari sekian banyak komponen yang disediakan hanya beberapa bagian saja yang lazim
digunakan. Pada bab kali ini akan dibahas beberapa komponen Swing yang sering digunakan.
FRAME
Frame merupakan top-level-container dari komponen swing. Terdapat 2 cara untuk
mengimplementasikan JFrame pada pemrograman swing java. Cara pertama dengan membuat objek
dari class JFrame pada kelas yang mengimplementasikan GUI. Setelah objek JFrame dibentuk,
komponen lain dapat ditambahkan. Cara kedua adalah dengan membuat sebuah class yang
mengextends Jframe tersebut.
Program 9-1
/* FrameDemo.java
* Cara Pertama
*/
import javax.swing.*;
public class FrameDemo {
private static void createAndShowGUI() {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("FrameDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Display the window.
frame.setSize(500, 200);
frame.setLocation(200, 150);
frame.setVisible(true);
}
public static void main(String[] args) {
createAndShowGUI();
}
}
BAB
9
Modul PBO – Teknokrat
81
Program 9-2
/* KelasFrame.java
* Cara Kedua
*/
import javax.swing.*;
public class KelasFrame extends JFrame {
public KelasFrame(String title) {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 200);
setLocation(200, 150);
setTitle(title);
setVisible(true);
}
public static void main(String args[]) {
JFrame.setDefaultLookAndFeelDecorated(true);
new KelasFrame("KelasFrame");
}
}
Kedua kode program di atas akan menghasilkan output yang sama seperti gambar berikut:
Hasil Output
PANEL
JPanel merupakan container yang termasuk ke dalam content pane. Content pane merupakan
tempat peletakan komponen swing seperti button, textfield dan komponen “swing control” lainnya.
Komponen tersebut dapat diletakkan langsung ke dalam JFrame, tapi JFrame bertindak sebagai top-
level-container, dan bukan content pane, sehingga lebih baik meletakkan komponen “swing control”
pada JPanel dan bukan pada JFrame. JPanel dapat dideklarasikan sebagai berikut:
JPanel p = new JPanel(new BorderLayout());
atau
JPanel p = new JPanel();
Modul PBO – Teknokrat
82
Perbedaan pembuatan objek cara pertama dengan kedua terletak pada inisialisasi layout yang
digunakan (Lihat modul 8). Layout pada pendeklarasian pertama menggunakan Border layout,
sedangkan pada cara kedua layout tidak ditentukan. Jika tidak ditentukan, maka panel akan memiliki
layout bertipe Flow (default JFrame adalah Flow Layout).
LABEL
Label merupakan komponen untuk menghasilkan “unselectable” gambar dan teks. Pada label dapat
diletakkan gambar (objek dari kelas ImageIcon) dan Teks (objek String). Parameter pada konstruktor
dapat berisi text dan image saja atau dapat berisi keduanya ditambah posisi tampilan label tersebut.
Contoh pembuatan objek label:
JLabel label1 = new JLabel("Text-only Label");
Beberapa method yang digunakan beserta fungsinya yaitu:
Method Fungsi
setText(“X”) Untuk mengeset tulisan teks pada label
getText() Mengambil tulisan teks pada label
setToolTipText() Memberikan tooltip pada label
Sehingga jika kita tambahkan label pada Program 9-2 seperti berikut:
Program 9-3
/* KelasFrame.java
* Cara Kedua
*/
import java.awt.*;
import javax.swing.*;
public class KelasFrame extends JFrame {
public KelasFrame(String title) {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p = new JPanel(new BorderLayout());
JLabel label1 = new JLabel("Text-only Label");
p.add(label1, BorderLayout.PAGE_START);
add(p);
setSize(500, 200);
setLocation(200, 150);
setTitle(title);
setVisible(true);
}
public static void main(String args[]) {
JFrame.setDefaultLookAndFeelDecorated(true);
new KelasFrame("KelasFrame");
}
}
Modul PBO – Teknokrat
83
Hasil Output
BUTTON-MNEMONIC
Merupakan komponen untuk membuat tombol. Kelas yang digunakan adalah JButton. Pada
komponen ini, selain keterangan teks, dapat juga ditambahkan image/icon. Contoh pembuatan
objek:
JButton b2 = new JButton("Tombol 2");
Pada button dan menu dapat ditambahkan mnemonic. Mnemonic merupakan penggunaan tombol
dengan menggunakan keyboard. Biasanya terdapat 1 huruf yang digunakan sebagai penanda yang
berfungsi sama dengan menekan tombol. Mnemonic bekerja dengan menekan “Alt+huruf penanda”.
Penanda yang biasa digunakan adalah huruf pertama dari keterangan tombol. Contoh cara mengeset
mnemonic (contohnya menunjukkan bahwa tombol akan aktif jika ALT+D ditekan):
b2.setMnemonic(KeyEvent.VK_D);
Untuk menggunakan Mnemonic kita terlebih dahulu harus meng-import event seperti berikut:
import java.awt.event.*;
Beberapa method yang digunakan untuk button beserta fungsinya yaitu:
Method Fungsi
setText(“X”) Untuk mengeset tulisan teks pada button
setMnemonic(KeyEvent.VK_D) Mengeset mnemonic pada tombol
setToolTipText() Memberikan tooltip pada tombol
setEnabled(false) Mengeset tombol dapat diklik atau tidak. Parameter “false”
menyatakan tombol disable, dan sebaliknya
setActionCommand Mengeset nama action performed dari tombol tersebut
Modul PBO – Teknokrat
84
Sehingga jika kita tambahkan label pada Program 9-3 seperti berikut:
Program 9-
4
/* KelasFrame.java
* Cara Kedua
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class KelasFrame extends JFrame {
public KelasFrame(String title) {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p = new JPanel(new BorderLayout());
JLabel label1 = new JLabel("Text-only Label");
p.add(label1, BorderLayout.PAGE_START);
JButton b2 = new JButton("Tombol 2");
b2.setMnemonic(KeyEvent.VK_D);
p.add(b2, BorderLayout.LINE_START);
add(p);
setSize(500, 200);
setLocation(200, 150);
setTitle(title);
setVisible(true);
}
public static void main(String args[]) {
JFrame.setDefaultLookAndFeelDecorated(true);
new KelasFrame("KelasFrame");
}
}
Hasil Output
Modul PBO – Teknokrat
85
CHECK BOX DAN RADIO BUTTON
Kedua komponen ini digunakan untuk merepresentasikan data yang berupa pilihan. Kelas yang
digunakan adalah JCheckBox dan JradioButton, keduanya hanya mempunyai dua buah kemungkinan
nilai, benar atau salah. JCheckBox digunakan jika pilihanya berupa multiple selection, sedangkan
JRadioButton digunakan jika pilihanya berupa single selection.
ButtonGroup diiperlukan untuk mengumpulkan JRadioButton yang mempunyai grup pilihan yang
sama. Jika JradioButton tidak diletakan dalam satu group, maka pilihan item bisa dipilihi bersamaan
(lebih dari satu).
Beberapa method yang digunakan untuk check box dan radio button beserta fungsinya yaitu:
Method Fungsi
setText(“X”) Untuk mengeset tulisan teks pada check box dan radio button
getText() Untuk mengambil tulisan teks
setMnemonic(KeyEvent.VK_M) Untuk mengeset mnemonic
setToolTipText() Untuk memberikan tool tip pada komponen
setEnabled(false) Untuk mengeset agar dapat dklik atau tidak
setSelected(true) Untuk mengeset check box dan radio button apakah memiliki
keadaan dipilih saat pertama kali dijalankan atau tidak
setActionCommand Untuk mengeset nama action performed dari komponen tersebut
isSelected() Untuk mengecek apakan check box atau radio button sedang
dipilih atau tidak
Berikut contoh penggunakan JCheckBox dan JRadioButton:
Program 9-
5
Modul PBO – Teknokrat
86
// CheckBoxRadioButtonDemo.java
import java.awt.event.*;
import javax.swing.*;
public class CheckBoxRadioButtonDemo extends JPanel{
JCheckBox miButton, kaButton, tkButton;
JRadioButton birdButton, catButton, rabbitButton;
public CheckBoxRadioButtonDemo() {
//Membuat Radio Button
birdButton = new JRadioButton("Burung");
birdButton.setMnemonic(KeyEvent.VK_B);
birdButton.setActionCommand("Burung");
birdButton.setSelected(true);
catButton = new JRadioButton("Kucing");
catButton.setMnemonic(KeyEvent.VK_C);
catButton.setActionCommand("Kucing");
rabbitButton = new JRadioButton("Kelinci");
rabbitButton.setMnemonic(KeyEvent.VK_L);
rabbitButton.setActionCommand("Kelinci");
//Membuat Grup Button
ButtonGroup group = new ButtonGroup();
//Memasukkan radio button ke grup
group.add(birdButton);
group.add(catButton);
group.add(rabbitButton);
//menambahkan radio button pada panel
this.add(birdButton);
this.add(catButton);
this.add(rabbitButton);
//Create the check boxes.
miButton = new JCheckBox("MI");
miButton.setMnemonic(KeyEvent.VK_M);
miButton.setSelected(true);
kaButton = new JCheckBox("KA");
kaButton.setMnemonic(KeyEvent.VK_K);
kaButton.setSelected(true);
tkButton = new JCheckBox("TK");
tkButton.setMnemonic(KeyEvent.VK_T);
tkButton.setSelected(true);
//Tambahkan cek box di panel
this.add(miButton);
this.add(kaButton);
this.add(tkButton);
}
Modul PBO – Teknokrat
87
private static void createAndShowGUI() {
//membuat frame
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("ChcekBoxRadioButtonDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//membuat content pane
CheckBoxRadioButtonDemo newContentPane = new
CheckBoxRadioButtonDemo();
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);
//Memunculkan window
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
Hasil Output
COMBOBOX
Combo box merupakan pemilihan menu melalui menu drop down. Sifatnya harus memilih salah
satu. Terdapat 2 tipe combo box, editable combo box dan uneditable combo box. Perbedaannya,
untuk editable combo box, combo box dapat dituliskan layaknya text field.
Konstruktor memiliki parameter masukan berupa model dari comboBox (bisa dideklarasikan
terpisah). Selain itu, Model dapat berupa Array of Object (Object[]) atau Vector. Method yang paling
sering digunakan dan fungsinya adalah sebagai berikut:
Method Fungsi
setEditable(true) Untuk mengeset tipe combo box, apakah editable combo box
atau uneditable combo box
setSelectedIndex(4) Untuk mengambil indeks item pada kolom yang dipilih. Item
dihitung dari nilai 0
Modul PBO – Teknokrat
88
getSelectedItem() Mengembalikan obyek terpilih dari combo box. Jika ingin
dimasukan ke dalam String harus dilakukan casting terlebih
dahulu
getSelectedIndex() Mengembalikan indeks item terpilih
getItemAt(3) Mengembalikan item pada indeks yang ditentukan
insertItemAt(objek, indek) Memasukan item pilihan berupa obyek bertipe Object pada
indeks ke indek
getItemCount() Mengembalikan jumlah item pada combo box
Berikut contoh penggunakan JCheckBox dan JRadioButton:
Program 9-
6
// SimpleComboBoxDemo.java
import javax.swing.*;
public class SimpleComboBoxDemo extends JPanel{
public SimpleComboBoxDemo() {
String[] daftarPilihan = {"-Pilih-", "Komputer", "Ekonomi",
"Bahasa", "Eksakta"};
JComboBox pilMK = new JComboBox(daftarPilihan);
pilMK.setSelectedIndex(0);
add(pilMK);
}
private static void createAndShowGUI() {
//membuat frame
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("ComboBoxDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//membuat content pane
JComponent newContentPane = new SimpleComboBoxDemo();
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);
//Memunculkan window
frame.pack();
frame.setVisible(true);
}
Modul PBO – Teknokrat
89
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
Hasil Output
TEXTFIELD
Textfield adalah komponen dasar yang selalu ada dalam setiap aplikasi berbasis desktop. Kelas yang
digunaan adalah JTextField. Textfield mempunyai fungsi yang sangat sederhana yaitu untuk
menyimpan data berbentuk teks (string) yang relatif pendek.
Beberapa method yang digunakan untuk check box dan radio button beserta fungsinya yaitu:
Method Fungsi
setText(“X”) Untuk mengeset tulisan teks pada komponen
getText() Untuk mengambil tulisan teks dari komponen
Berikut ini adalah contoh aplikasi sederhana menggunakan textfield:
Program 9-
7
// SimpleTextFieldDemo.java
import java.awt.*;
import javax.swing.*;
public class SimpleTextFieldDemo extends JPanel{
public SimpleTextFieldDemo() {
JLabel lb1, lb2;
JTextField tf1, tf2;
Modul PBO – Teknokrat
90
lb1 = new JLabel("NPM");
tf1 = new JTextField(10);
lb2 = new JLabel("Nama");
tf2 = new JTextField(25);
setLayout(new FlowLayout());
//setAlignment(FlowLayout.CENTER);
add(lb1);
add(tf1);
add(lb2);
add(tf2);
}
private static void createAndShowGUI() {
//membuat frame
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("TextFieldDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//membuat content pane
JComponent newContentPane = new SimpleTextFieldDemo();
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);
//Memunculkan window
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
Hasil Output
SLIDER
JSlider adalah komponen yang memungkinkan pengguna untuk memilih nilai dengan menggeser
sebuah tombol dalam interval tertentu. Contohnya pada tampilkan kontrol volume suara.
Program 9-
5
Modul PBO – Teknokrat
91
// Slider.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class Slider extends JFrame {
private JSlider slider;
private JLabel label;
ImageIcon mute = new
ImageIcon(ClassLoader.getSystemResource("mute.png"));
ImageIcon min = new
ImageIcon(ClassLoader.getSystemResource("min.png"));
ImageIcon med = new
ImageIcon(ClassLoader.getSystemResource("med.png"));
ImageIcon max = new
ImageIcon(ClassLoader.getSystemResource("max.png"));
public Slider() {
setTitle("JSlider");
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
panel.setBorder(BorderFactory.createEmptyBorder(40, 40, 40, 40));
setLayout(new BorderLayout());
panel.add(Box.createHorizontalGlue());
slider = new JSlider(0, 150, 0);
slider.setPreferredSize(new Dimension(150, 30));
slider.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent event) {
int value = slider.getValue();
if (value == 0) {
label.setIcon(mute);
} else if (value > 0 && value <= 30) {
label.setIcon(min);
} else if (value > 30 && value < 80) {
label.setIcon(med);
} else {
label.setIcon(max);
}
}
});
Modul PBO – Teknokrat
92
panel.add(slider);
panel.add(Box.createRigidArea(new Dimension(5, 0)));
label = new JLabel(mute, JLabel.CENTER);
panel.add(label);
panel.add(Box.createHorizontalGlue());
add(panel, BorderLayout.CENTER);
pack();
setLocationRelativeTo(null);
}
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
Slider button = new Slider();
button.setVisible(true);
}
}
Hasil Output
Modul PBO – Teknokrat
93
Lembar Kerja Praktikum: Modul 9
NPM: Asisten:
Nama: Nilai:
Kelas: Tanggal:
Soal
1. [Score: 100] Buatlah sebuah aplikasi yang bisa mengkonversi suatu temperatur dengan
menggunakan komponen Swing seperti berikut.

More Related Content

What's hot (12)

PBO Pratikum 1
PBO Pratikum 1PBO Pratikum 1
PBO Pratikum 1
 
Krisna vb6-11
Krisna vb6-11Krisna vb6-11
Krisna vb6-11
 
Modul Net PRo
Modul Net PRoModul Net PRo
Modul Net PRo
 
Jeni Intro2 Bab11 Applet
Jeni Intro2 Bab11 AppletJeni Intro2 Bab11 Applet
Jeni Intro2 Bab11 Applet
 
Pemrograman Mobile Unit 2 : Dasar-dasar Flutter
Pemrograman Mobile Unit 2 : Dasar-dasar FlutterPemrograman Mobile Unit 2 : Dasar-dasar Flutter
Pemrograman Mobile Unit 2 : Dasar-dasar Flutter
 
Pengenalan Java Swing
Pengenalan Java SwingPengenalan Java Swing
Pengenalan Java Swing
 
Modul 1 konsep dasar pemrograman delphi
Modul   1 konsep dasar pemrograman delphiModul   1 konsep dasar pemrograman delphi
Modul 1 konsep dasar pemrograman delphi
 
Laporan praktikum multimedia 5 5
Laporan praktikum multimedia 5 5Laporan praktikum multimedia 5 5
Laporan praktikum multimedia 5 5
 
Jeni J2 Me Bab04 Low Level User Interface
Jeni J2 Me Bab04 Low Level User InterfaceJeni J2 Me Bab04 Low Level User Interface
Jeni J2 Me Bab04 Low Level User Interface
 
Laporan p1
Laporan p1Laporan p1
Laporan p1
 
Membuat game j2 me nuril
Membuat game j2 me nurilMembuat game j2 me nuril
Membuat game j2 me nuril
 
Mebuat presentasi-dengan-flash
Mebuat presentasi-dengan-flashMebuat presentasi-dengan-flash
Mebuat presentasi-dengan-flash
 

Similar to Modul PBO Bab-09 - Swing

Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan SwingJeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Individual Consultants
 
11 GUI dengan-SWING Java.pptx
11 GUI dengan-SWING Java.pptx11 GUI dengan-SWING Java.pptx
11 GUI dengan-SWING Java.pptx
disjindenpasar
 
Gabung1 sd 6_dekstop_java
Gabung1 sd 6_dekstop_javaGabung1 sd 6_dekstop_java
Gabung1 sd 6_dekstop_java
Dewa Nala
 
Jeni intro1-bab05-mendapatkan-input-dari-keyboard
Jeni intro1-bab05-mendapatkan-input-dari-keyboardJeni intro1-bab05-mendapatkan-input-dari-keyboard
Jeni intro1-bab05-mendapatkan-input-dari-keyboard
Alvin Setiawan
 
JENI-Intro1-Bab05-Mendapatkan Input dari Keyboard.pdf
JENI-Intro1-Bab05-Mendapatkan Input dari Keyboard.pdfJENI-Intro1-Bab05-Mendapatkan Input dari Keyboard.pdf
JENI-Intro1-Bab05-Mendapatkan Input dari Keyboard.pdf
Jurnal IT
 
Modul praktikum-pbo-5-swing
Modul praktikum-pbo-5-swingModul praktikum-pbo-5-swing
Modul praktikum-pbo-5-swing
Agung W
 
Jeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahanJeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahan
UNIVERSITY Of LAMPUNG
 

Similar to Modul PBO Bab-09 - Swing (20)

Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
 
Modul psb 2 j2me
Modul psb 2 j2meModul psb 2 j2me
Modul psb 2 j2me
 
11_GUI Pada Java.pdf
11_GUI Pada Java.pdf11_GUI Pada Java.pdf
11_GUI Pada Java.pdf
 
11_GUI Pada Java.pdf
11_GUI Pada Java.pdf11_GUI Pada Java.pdf
11_GUI Pada Java.pdf
 
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan SwingJeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
 
Java6
Java6Java6
Java6
 
11 GUI dengan-SWING Java.pptx
11 GUI dengan-SWING Java.pptx11 GUI dengan-SWING Java.pptx
11 GUI dengan-SWING Java.pptx
 
Presentasi latihan pemrograman Java GUI menggunakan SWING
Presentasi latihan pemrograman Java GUI menggunakan SWINGPresentasi latihan pemrograman Java GUI menggunakan SWING
Presentasi latihan pemrograman Java GUI menggunakan SWING
 
Gabung1 sd 6_dekstop_java
Gabung1 sd 6_dekstop_javaGabung1 sd 6_dekstop_java
Gabung1 sd 6_dekstop_java
 
Materi ii dasar dasar netbeans
Materi ii dasar dasar netbeansMateri ii dasar dasar netbeans
Materi ii dasar dasar netbeans
 
Jeni intro1-bab05-mendapatkan-input-dari-keyboard
Jeni intro1-bab05-mendapatkan-input-dari-keyboardJeni intro1-bab05-mendapatkan-input-dari-keyboard
Jeni intro1-bab05-mendapatkan-input-dari-keyboard
 
JENI-Intro1-Bab05-Mendapatkan Input dari Keyboard.pdf
JENI-Intro1-Bab05-Mendapatkan Input dari Keyboard.pdfJENI-Intro1-Bab05-Mendapatkan Input dari Keyboard.pdf
JENI-Intro1-Bab05-Mendapatkan Input dari Keyboard.pdf
 
Modul praktikum-pbo-5-swing
Modul praktikum-pbo-5-swingModul praktikum-pbo-5-swing
Modul praktikum-pbo-5-swing
 
Modul praktikum pbo java swing
Modul praktikum pbo java swingModul praktikum pbo java swing
Modul praktikum pbo java swing
 
Membuat program kalkulator sederhana dengan matlab
Membuat program kalkulator sederhana dengan matlabMembuat program kalkulator sederhana dengan matlab
Membuat program kalkulator sederhana dengan matlab
 
Java1
Java1Java1
Java1
 
pembuatan-gui-dengan-matlab.pdf
pembuatan-gui-dengan-matlab.pdfpembuatan-gui-dengan-matlab.pdf
pembuatan-gui-dengan-matlab.pdf
 
Jeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahanJeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahan
 
05.63 JAVA SE_java button final
05.63 JAVA SE_java button final05.63 JAVA SE_java button final
05.63 JAVA SE_java button final
 
Button dan Input Widget.pptx
Button dan Input Widget.pptxButton dan Input Widget.pptx
Button dan Input Widget.pptx
 

More from Rakhmat Dedi Gunawan

More from Rakhmat Dedi Gunawan (18)

Modul PBO Bab-00 - Daftar Isi
Modul PBO Bab-00 - Daftar IsiModul PBO Bab-00 - Daftar Isi
Modul PBO Bab-00 - Daftar Isi
 
Modul PBO Bab-12 - Setup & Deployment
Modul PBO Bab-12 - Setup & DeploymentModul PBO Bab-12 - Setup & Deployment
Modul PBO Bab-12 - Setup & Deployment
 
Modul PBO Bab-11 - JDBC
Modul PBO Bab-11 - JDBCModul PBO Bab-11 - JDBC
Modul PBO Bab-11 - JDBC
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)Modul PBO Bab-05 - Pewarisan (Inheritance)
Modul PBO Bab-05 - Pewarisan (Inheritance)
 
Modul PBO Bab-04 - Hubungan antar Kelas
Modul PBO Bab-04 - Hubungan antar KelasModul PBO Bab-04 - Hubungan antar Kelas
Modul PBO Bab-04 - Hubungan antar Kelas
 
Modul PBO Bab-03 - Kelas & Objek
Modul PBO Bab-03 - Kelas & ObjekModul PBO Bab-03 - Kelas & Objek
Modul PBO Bab-03 - Kelas & Objek
 
Modul PBO Bab-02 - Struktur Kontrol
Modul PBO Bab-02 - Struktur KontrolModul PBO Bab-02 - Struktur Kontrol
Modul PBO Bab-02 - Struktur Kontrol
 
Modul PBO Bab-01 - Pengenalan Java
Modul PBO Bab-01 - Pengenalan JavaModul PBO Bab-01 - Pengenalan Java
Modul PBO Bab-01 - Pengenalan Java
 
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
 
Chapter 01 - Pembuatan Database
Chapter 01 - Pembuatan DatabaseChapter 01 - Pembuatan Database
Chapter 01 - Pembuatan Database
 
Chapter 03 - Form Master
Chapter 03 - Form MasterChapter 03 - Form Master
Chapter 03 - Form Master
 
Chapter 02 - Pembuatan Projek Baru
Chapter 02 - Pembuatan Projek BaruChapter 02 - Pembuatan Projek Baru
Chapter 02 - Pembuatan Projek Baru
 
Chapter 10 - Pembatan Report Kwitansi
Chapter 10 - Pembatan Report KwitansiChapter 10 - Pembatan Report Kwitansi
Chapter 10 - Pembatan Report Kwitansi
 
T04-Stored Procedure
T04-Stored ProcedureT04-Stored Procedure
T04-Stored Procedure
 
T05-Trigger
T05-TriggerT05-Trigger
T05-Trigger
 
T02-Join & View
T02-Join & ViewT02-Join & View
T02-Join & View
 
Teori pbd - erd_studi_kasus (1)
Teori pbd - erd_studi_kasus (1)Teori pbd - erd_studi_kasus (1)
Teori pbd - erd_studi_kasus (1)
 

Modul PBO Bab-09 - Swing

  • 1. Modul PBO – Teknokrat 80 KOMPONEN SWING Tujuan Praktikan dapat memahami dan menjelaskan komponen-komponen Swing pada Java GUI dalam pemrograman Java. SWING PACKAGE Untuk membangun aplikasi GUI desktop Swing toolkit menyediakan banyak sekali komponen yang dapat digunakan. Selain itu Swing toolkit juga menyediakan kelas-kelas untuk menangani interaksi (event) antara aplikasi dan pengguna menggunakan standar input seperti keyboard atau mouse. Secara umum dari sekian banyak komponen yang disediakan hanya beberapa bagian saja yang lazim digunakan. Pada bab kali ini akan dibahas beberapa komponen Swing yang sering digunakan. FRAME Frame merupakan top-level-container dari komponen swing. Terdapat 2 cara untuk mengimplementasikan JFrame pada pemrograman swing java. Cara pertama dengan membuat objek dari class JFrame pada kelas yang mengimplementasikan GUI. Setelah objek JFrame dibentuk, komponen lain dapat ditambahkan. Cara kedua adalah dengan membuat sebuah class yang mengextends Jframe tersebut. Program 9-1 /* FrameDemo.java * Cara Pertama */ import javax.swing.*; public class FrameDemo { private static void createAndShowGUI() { JFrame.setDefaultLookAndFeelDecorated(true); JFrame frame = new JFrame("FrameDemo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Display the window. frame.setSize(500, 200); frame.setLocation(200, 150); frame.setVisible(true); } public static void main(String[] args) { createAndShowGUI(); } } BAB 9
  • 2. Modul PBO – Teknokrat 81 Program 9-2 /* KelasFrame.java * Cara Kedua */ import javax.swing.*; public class KelasFrame extends JFrame { public KelasFrame(String title) { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(500, 200); setLocation(200, 150); setTitle(title); setVisible(true); } public static void main(String args[]) { JFrame.setDefaultLookAndFeelDecorated(true); new KelasFrame("KelasFrame"); } } Kedua kode program di atas akan menghasilkan output yang sama seperti gambar berikut: Hasil Output PANEL JPanel merupakan container yang termasuk ke dalam content pane. Content pane merupakan tempat peletakan komponen swing seperti button, textfield dan komponen “swing control” lainnya. Komponen tersebut dapat diletakkan langsung ke dalam JFrame, tapi JFrame bertindak sebagai top- level-container, dan bukan content pane, sehingga lebih baik meletakkan komponen “swing control” pada JPanel dan bukan pada JFrame. JPanel dapat dideklarasikan sebagai berikut: JPanel p = new JPanel(new BorderLayout()); atau JPanel p = new JPanel();
  • 3. Modul PBO – Teknokrat 82 Perbedaan pembuatan objek cara pertama dengan kedua terletak pada inisialisasi layout yang digunakan (Lihat modul 8). Layout pada pendeklarasian pertama menggunakan Border layout, sedangkan pada cara kedua layout tidak ditentukan. Jika tidak ditentukan, maka panel akan memiliki layout bertipe Flow (default JFrame adalah Flow Layout). LABEL Label merupakan komponen untuk menghasilkan “unselectable” gambar dan teks. Pada label dapat diletakkan gambar (objek dari kelas ImageIcon) dan Teks (objek String). Parameter pada konstruktor dapat berisi text dan image saja atau dapat berisi keduanya ditambah posisi tampilan label tersebut. Contoh pembuatan objek label: JLabel label1 = new JLabel("Text-only Label"); Beberapa method yang digunakan beserta fungsinya yaitu: Method Fungsi setText(“X”) Untuk mengeset tulisan teks pada label getText() Mengambil tulisan teks pada label setToolTipText() Memberikan tooltip pada label Sehingga jika kita tambahkan label pada Program 9-2 seperti berikut: Program 9-3 /* KelasFrame.java * Cara Kedua */ import java.awt.*; import javax.swing.*; public class KelasFrame extends JFrame { public KelasFrame(String title) { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(new BorderLayout()); JLabel label1 = new JLabel("Text-only Label"); p.add(label1, BorderLayout.PAGE_START); add(p); setSize(500, 200); setLocation(200, 150); setTitle(title); setVisible(true); } public static void main(String args[]) { JFrame.setDefaultLookAndFeelDecorated(true); new KelasFrame("KelasFrame"); } }
  • 4. Modul PBO – Teknokrat 83 Hasil Output BUTTON-MNEMONIC Merupakan komponen untuk membuat tombol. Kelas yang digunakan adalah JButton. Pada komponen ini, selain keterangan teks, dapat juga ditambahkan image/icon. Contoh pembuatan objek: JButton b2 = new JButton("Tombol 2"); Pada button dan menu dapat ditambahkan mnemonic. Mnemonic merupakan penggunaan tombol dengan menggunakan keyboard. Biasanya terdapat 1 huruf yang digunakan sebagai penanda yang berfungsi sama dengan menekan tombol. Mnemonic bekerja dengan menekan “Alt+huruf penanda”. Penanda yang biasa digunakan adalah huruf pertama dari keterangan tombol. Contoh cara mengeset mnemonic (contohnya menunjukkan bahwa tombol akan aktif jika ALT+D ditekan): b2.setMnemonic(KeyEvent.VK_D); Untuk menggunakan Mnemonic kita terlebih dahulu harus meng-import event seperti berikut: import java.awt.event.*; Beberapa method yang digunakan untuk button beserta fungsinya yaitu: Method Fungsi setText(“X”) Untuk mengeset tulisan teks pada button setMnemonic(KeyEvent.VK_D) Mengeset mnemonic pada tombol setToolTipText() Memberikan tooltip pada tombol setEnabled(false) Mengeset tombol dapat diklik atau tidak. Parameter “false” menyatakan tombol disable, dan sebaliknya setActionCommand Mengeset nama action performed dari tombol tersebut
  • 5. Modul PBO – Teknokrat 84 Sehingga jika kita tambahkan label pada Program 9-3 seperti berikut: Program 9- 4 /* KelasFrame.java * Cara Kedua */ import java.awt.*; import java.awt.event.*; import javax.swing.*; public class KelasFrame extends JFrame { public KelasFrame(String title) { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(new BorderLayout()); JLabel label1 = new JLabel("Text-only Label"); p.add(label1, BorderLayout.PAGE_START); JButton b2 = new JButton("Tombol 2"); b2.setMnemonic(KeyEvent.VK_D); p.add(b2, BorderLayout.LINE_START); add(p); setSize(500, 200); setLocation(200, 150); setTitle(title); setVisible(true); } public static void main(String args[]) { JFrame.setDefaultLookAndFeelDecorated(true); new KelasFrame("KelasFrame"); } } Hasil Output
  • 6. Modul PBO – Teknokrat 85 CHECK BOX DAN RADIO BUTTON Kedua komponen ini digunakan untuk merepresentasikan data yang berupa pilihan. Kelas yang digunakan adalah JCheckBox dan JradioButton, keduanya hanya mempunyai dua buah kemungkinan nilai, benar atau salah. JCheckBox digunakan jika pilihanya berupa multiple selection, sedangkan JRadioButton digunakan jika pilihanya berupa single selection. ButtonGroup diiperlukan untuk mengumpulkan JRadioButton yang mempunyai grup pilihan yang sama. Jika JradioButton tidak diletakan dalam satu group, maka pilihan item bisa dipilihi bersamaan (lebih dari satu). Beberapa method yang digunakan untuk check box dan radio button beserta fungsinya yaitu: Method Fungsi setText(“X”) Untuk mengeset tulisan teks pada check box dan radio button getText() Untuk mengambil tulisan teks setMnemonic(KeyEvent.VK_M) Untuk mengeset mnemonic setToolTipText() Untuk memberikan tool tip pada komponen setEnabled(false) Untuk mengeset agar dapat dklik atau tidak setSelected(true) Untuk mengeset check box dan radio button apakah memiliki keadaan dipilih saat pertama kali dijalankan atau tidak setActionCommand Untuk mengeset nama action performed dari komponen tersebut isSelected() Untuk mengecek apakan check box atau radio button sedang dipilih atau tidak Berikut contoh penggunakan JCheckBox dan JRadioButton: Program 9- 5
  • 7. Modul PBO – Teknokrat 86 // CheckBoxRadioButtonDemo.java import java.awt.event.*; import javax.swing.*; public class CheckBoxRadioButtonDemo extends JPanel{ JCheckBox miButton, kaButton, tkButton; JRadioButton birdButton, catButton, rabbitButton; public CheckBoxRadioButtonDemo() { //Membuat Radio Button birdButton = new JRadioButton("Burung"); birdButton.setMnemonic(KeyEvent.VK_B); birdButton.setActionCommand("Burung"); birdButton.setSelected(true); catButton = new JRadioButton("Kucing"); catButton.setMnemonic(KeyEvent.VK_C); catButton.setActionCommand("Kucing"); rabbitButton = new JRadioButton("Kelinci"); rabbitButton.setMnemonic(KeyEvent.VK_L); rabbitButton.setActionCommand("Kelinci"); //Membuat Grup Button ButtonGroup group = new ButtonGroup(); //Memasukkan radio button ke grup group.add(birdButton); group.add(catButton); group.add(rabbitButton); //menambahkan radio button pada panel this.add(birdButton); this.add(catButton); this.add(rabbitButton); //Create the check boxes. miButton = new JCheckBox("MI"); miButton.setMnemonic(KeyEvent.VK_M); miButton.setSelected(true); kaButton = new JCheckBox("KA"); kaButton.setMnemonic(KeyEvent.VK_K); kaButton.setSelected(true); tkButton = new JCheckBox("TK"); tkButton.setMnemonic(KeyEvent.VK_T); tkButton.setSelected(true); //Tambahkan cek box di panel this.add(miButton); this.add(kaButton); this.add(tkButton); }
  • 8. Modul PBO – Teknokrat 87 private static void createAndShowGUI() { //membuat frame JFrame.setDefaultLookAndFeelDecorated(true); JFrame frame = new JFrame("ChcekBoxRadioButtonDemo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //membuat content pane CheckBoxRadioButtonDemo newContentPane = new CheckBoxRadioButtonDemo(); newContentPane.setOpaque(true); //content panes must be opaque frame.setContentPane(newContentPane); //Memunculkan window frame.pack(); frame.setVisible(true); } public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } } Hasil Output COMBOBOX Combo box merupakan pemilihan menu melalui menu drop down. Sifatnya harus memilih salah satu. Terdapat 2 tipe combo box, editable combo box dan uneditable combo box. Perbedaannya, untuk editable combo box, combo box dapat dituliskan layaknya text field. Konstruktor memiliki parameter masukan berupa model dari comboBox (bisa dideklarasikan terpisah). Selain itu, Model dapat berupa Array of Object (Object[]) atau Vector. Method yang paling sering digunakan dan fungsinya adalah sebagai berikut: Method Fungsi setEditable(true) Untuk mengeset tipe combo box, apakah editable combo box atau uneditable combo box setSelectedIndex(4) Untuk mengambil indeks item pada kolom yang dipilih. Item dihitung dari nilai 0
  • 9. Modul PBO – Teknokrat 88 getSelectedItem() Mengembalikan obyek terpilih dari combo box. Jika ingin dimasukan ke dalam String harus dilakukan casting terlebih dahulu getSelectedIndex() Mengembalikan indeks item terpilih getItemAt(3) Mengembalikan item pada indeks yang ditentukan insertItemAt(objek, indek) Memasukan item pilihan berupa obyek bertipe Object pada indeks ke indek getItemCount() Mengembalikan jumlah item pada combo box Berikut contoh penggunakan JCheckBox dan JRadioButton: Program 9- 6 // SimpleComboBoxDemo.java import javax.swing.*; public class SimpleComboBoxDemo extends JPanel{ public SimpleComboBoxDemo() { String[] daftarPilihan = {"-Pilih-", "Komputer", "Ekonomi", "Bahasa", "Eksakta"}; JComboBox pilMK = new JComboBox(daftarPilihan); pilMK.setSelectedIndex(0); add(pilMK); } private static void createAndShowGUI() { //membuat frame JFrame.setDefaultLookAndFeelDecorated(true); JFrame frame = new JFrame("ComboBoxDemo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //membuat content pane JComponent newContentPane = new SimpleComboBoxDemo(); newContentPane.setOpaque(true); //content panes must be opaque frame.setContentPane(newContentPane); //Memunculkan window frame.pack(); frame.setVisible(true); }
  • 10. Modul PBO – Teknokrat 89 public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } } Hasil Output TEXTFIELD Textfield adalah komponen dasar yang selalu ada dalam setiap aplikasi berbasis desktop. Kelas yang digunaan adalah JTextField. Textfield mempunyai fungsi yang sangat sederhana yaitu untuk menyimpan data berbentuk teks (string) yang relatif pendek. Beberapa method yang digunakan untuk check box dan radio button beserta fungsinya yaitu: Method Fungsi setText(“X”) Untuk mengeset tulisan teks pada komponen getText() Untuk mengambil tulisan teks dari komponen Berikut ini adalah contoh aplikasi sederhana menggunakan textfield: Program 9- 7 // SimpleTextFieldDemo.java import java.awt.*; import javax.swing.*; public class SimpleTextFieldDemo extends JPanel{ public SimpleTextFieldDemo() { JLabel lb1, lb2; JTextField tf1, tf2;
  • 11. Modul PBO – Teknokrat 90 lb1 = new JLabel("NPM"); tf1 = new JTextField(10); lb2 = new JLabel("Nama"); tf2 = new JTextField(25); setLayout(new FlowLayout()); //setAlignment(FlowLayout.CENTER); add(lb1); add(tf1); add(lb2); add(tf2); } private static void createAndShowGUI() { //membuat frame JFrame.setDefaultLookAndFeelDecorated(true); JFrame frame = new JFrame("TextFieldDemo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //membuat content pane JComponent newContentPane = new SimpleTextFieldDemo(); newContentPane.setOpaque(true); //content panes must be opaque frame.setContentPane(newContentPane); //Memunculkan window frame.pack(); frame.setVisible(true); } public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } } Hasil Output SLIDER JSlider adalah komponen yang memungkinkan pengguna untuk memilih nilai dengan menggeser sebuah tombol dalam interval tertentu. Contohnya pada tampilkan kontrol volume suara. Program 9- 5
  • 12. Modul PBO – Teknokrat 91 // Slider.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class Slider extends JFrame { private JSlider slider; private JLabel label; ImageIcon mute = new ImageIcon(ClassLoader.getSystemResource("mute.png")); ImageIcon min = new ImageIcon(ClassLoader.getSystemResource("min.png")); ImageIcon med = new ImageIcon(ClassLoader.getSystemResource("med.png")); ImageIcon max = new ImageIcon(ClassLoader.getSystemResource("max.png")); public Slider() { setTitle("JSlider"); setDefaultCloseOperation(EXIT_ON_CLOSE); JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS)); panel.setBorder(BorderFactory.createEmptyBorder(40, 40, 40, 40)); setLayout(new BorderLayout()); panel.add(Box.createHorizontalGlue()); slider = new JSlider(0, 150, 0); slider.setPreferredSize(new Dimension(150, 30)); slider.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent event) { int value = slider.getValue(); if (value == 0) { label.setIcon(mute); } else if (value > 0 && value <= 30) { label.setIcon(min); } else if (value > 30 && value < 80) { label.setIcon(med); } else { label.setIcon(max); } } });
  • 13. Modul PBO – Teknokrat 92 panel.add(slider); panel.add(Box.createRigidArea(new Dimension(5, 0))); label = new JLabel(mute, JLabel.CENTER); panel.add(label); panel.add(Box.createHorizontalGlue()); add(panel, BorderLayout.CENTER); pack(); setLocationRelativeTo(null); } public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); Slider button = new Slider(); button.setVisible(true); } } Hasil Output
  • 14. Modul PBO – Teknokrat 93 Lembar Kerja Praktikum: Modul 9 NPM: Asisten: Nama: Nilai: Kelas: Tanggal: Soal 1. [Score: 100] Buatlah sebuah aplikasi yang bisa mengkonversi suatu temperatur dengan menggunakan komponen Swing seperti berikut.