Page 1 of 8

http://arief.ismy.web.id/ 1

Mata Kuliah ............... 1

Pemrograman Java

Muhammad Arief

http://arief.ismy.web.id

Mata Kuliah ............... 2

MINGGU Ke 10

Pemrograman Lanjutan

Pokok Bahasan:

Graphical User Interface dg Swing

Tujuan Instruksional Khusus:

Memahami cara membuat GUI dg Swing

Referensi:

The Really Big Index, Introduction to Java

Programming

Mata Kuliah ............... 3

TOC

• Introduction

• Java GUI API

• Swing VS AWT

• Frame

• Adding Component to a Frame

• Layout Manager

Mata Kuliah ............... 4

Java GUI API

• GUI (Graphical User Interface) : metode

interaksi secara grafis antara user dengan

komputer.

• API (Application Programming Interface) :

suatu kumpulan fungsi-fungsi, prosedur- prosedur, kelas-kelas dalam sebuah

operating system, library yang dapat

mendukung apa yang diminta oleh

program.

Mata Kuliah ............... 5

Swing

To create a Java program with a graphical

user interface (GUI)

• The Swing toolkit includes a rich set of

components for building GUIs and adding

interactivity to Java applications. Includes

components such as: table controls, list

controls, tree controls, buttons, and labels.

• is part of the Java Foundation Classes

(JFC)

Mata Kuliah ............... 6

JFC

Page 2 of 8

http://arief.ismy.web.id/ 2

Mata Kuliah ............... 7

Swing vs AWT

• AWT (Abstract Windows Toolkit)

– Baik untuk pengembangan simple graphical user interface

– Rawan untuk bugs.

– Lightweight components

– Contoh kelas :

• Button, Label, List Component, Canvas, dll dari java.awt

• Swing

– More Robust

– More Versatile

– Flexible library

– Komponennya tergantung pada platform.

– Heavyweight components

– Contoh kelas :

• JButton, JLabel, JList, JComponent, dll dari javax.swing

• Umumnya semua kelas menggunakan “J” di depan nama kelasnya

Mata Kuliah ............... 8

Swing

• Kelas-kelas GUI diklasifikasikan menjadi 3

group :

1.Container Classes

ÎTop Level Container, Intermediate Container

2.Atomic Component Classes

Î JButton, JTextField, JTextArea, JComboBox,

JList, JRadioButton dan JMenu , adalah

subclasses dari JComponent.

3.Layout Manager

Î BorderLayout, FlowLayout.

Mata Kuliah ............... 9

Component Hierarchy

Mata Kuliah ............... 10

Component Hierarchy

Mata Kuliah ............... 11

Top Level Container

– Frame

– Dialog

– Applet

yang diimplementasikan berupa class JFrame,

JDialog dan JApplet.

Mata Kuliah ............... 12

Top Level Container

Page 3 of 8

http://arief.ismy.web.id/ 3

Mata Kuliah ............... 13

Frame

• Menggunakan JFrame

• Tingkatan paling atas dari kontainer untuk

menghandle komponen GUI.

• Method :

– setSize(lebar,tinggi) Æ mengatur ukuran frame

– setLocation(x,y) Æ mengatur lokasi letak frame

– setVisible(boolean) Æ mengatur untuk ditampikan

atau tidak

– setDefaultCloseOperation(int) Æ Spesifikasi

operasi jika frame ditutup

– setLocationRelativeTo(component) ÆSet lokasi

frame ke komponen yang spesifik. Jika komponennya

null maka frame akan tepat di tengah layar

– pack() Æsecara otomatis set ukuran frame dengan

komponen-komponen yang ada di dalam frame.

Mata Kuliah ............... 14

MyFrame

• Contoh Kode :

• Output :

Mata Kuliah ............... 15

Simple.Java

import javax.swing.JFrame;

public class Simple extends JFrame {

public Simple() {

setSize(300, 200);

setTitle("Simple");

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

public static void main(String[] args) {

Simple simple = new Simple();

simple.setVisible(true);

}

} Mata Kuliah ............... 16

Adding Component to a Frame

• Untuk menambahkan komponen pada frame

menggunakan method add.

• Setiap JFrame terdiri dari 1 buah content pane

(java.awt.Container)

• Contoh :

– Kita menambahkan 1 komponen dari JButton pada

JFrame secara langsung.

• Buat objek button

JButton btn = new JButton(“Submit”);

• Tambahkan objek button ke dalam frame dengan method add

frm.add(btn);

– Kita dapat menggunakan kelas Container untuk

menambahkannya dengan cara :

• Ketika objek telah dibuat maka langsung menambahkannya

dengan:

java.awt.Container con = frm.getContentPane();

con.add(btn);

Mata Kuliah ............... 17

Adding Component to a Frame

• Contoh Kode :

• Output : 1 buah Button yang dihandle oleh

1 content pane frame tersebut

Mata Kuliah ............... 18

FrameDemo

package components;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

/* FrameDemo.java requires no other files. */

public class FrameDemo {

private static void createAndShowGUI() {

//Create and set up the window.

JFrame frame = new JFrame("FrameDemo");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JLabel emptyLabel = new JLabel(“test aja");

emptyLabel.setPreferredSize(new Dimension(175, 100));

frame.getContentPane().add(emptyLabel, BorderLayout.CENTER);

//Display the window.

frame.pack();

frame.setVisible(true);

}

public static void main(String[] args) {

//Schedule a job for the event-dispatching thread:

//creating and showing this application's GUI.

javax.swing.SwingUtilities.invokeLater(new Runnable() {

public void run() {

createAndShowGUI();

}

});

}

}