• Tidak ada hasil yang ditemukan

Dasar Perancangan Graphical User Interface

N/A
N/A
Protected

Academic year: 2021

Membagikan "Dasar Perancangan Graphical User Interface"

Copied!
5
0
0

Teks penuh

(1)

Dasar Perancangan

Graphical User Interface

Restyandito

e-mail : dito@ukdw.ac.id website : http://lecturer.ukdw.ac.id/~dito

TI1163 – Dasar Perancangan GUI © Restyandito - 3

GUI (Graphical User Interface), memungkinkan user

untuk berinteraksi dengan komputer secara lebih

baik.

Î

Pengguna berinteraksi dengan berbagai elemen

grafis, seperti button, dialog box, menu, dsb.

Introduction

TI1163 – Dasar Perancangan GUI © Restyandito - 4

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)

Introduction

Introduction

JAVA menyediakan dua graphical library.

ƒ

AWT (Abstract Windows Toolkit)

ƒ

Swing

Contoh:

import java.awt.* ;

Import java.awt.event.* ;

Import javax.swing.* ;

Graphical Objects

ƒ

Container (tempat), obyek yang dapat menapung

komponen grafis dan tempat yang lebih kecil

Contoh: frames, panels

ƒ

Component, obyek grafis yang berfungsi untuk

menampilkan data, menerima masukan, atau menunjukkan

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.

(2)

TI1163 – Dasar Perancangan GUI © Restyandito - 7

Graphical Objects

Frame

Panel1 Panel2

TI1163 – Dasar Perancangan GUI © Restyandito - 8

Graphical Objects

Object Component Container Window Frame JFrame JComponent JPanel

Hirarki turunan untuk JPanel dan JFrame

TI1163 – Dasar Perancangan GUI © Restyandito - 9

Container : Frame

import javax.swing.*;

class FramePertamaku extends JFrame { public FramePertamaku() {

setTitle( "Frame Pertama“ ); setSize( 300 , 200 ); }

}

public class Frameku {

public static void main (String args[ ] ) { FramePertamaku coba = new FramePertamaku(); coba.show();

} }

TI1163 – Dasar Perancangan GUI © Restyandito - 10

Container : Frame

Beberapa method java.awt.Frame

ƒvoid setResizable (boolean b)

menentukan apakah user dapat merubah ukuran

frame

ƒvoid setTitle(String s)

mengatur teks pada title bar

ƒvoid setIconImage(Image image)

gambar yang digunakan sebagai icon dari frame

TI1163 – Dasar Perancangan GUI © Restyandito - 11

Component : Text

import java.awt.*;

public class WindowText extends Frame { public void paint(Graphics g) {

setSize(300, 200); setTitle(getClass().getName());

Font f = new Font( "Monospaced“ , Font.BOLD, 16); g.setFont(f);

g.drawString( "Hello ...“ , 10 , 100);

g.drawString( "Salam kenal dari Frame ...“ , 30 ,120); }

TI1163 – Dasar Perancangan GUI © Restyandito - 12

Component : Text

public static void main(String[ ] args) { WindowText coba = new WindowText(); coba.setSize(500, 300); coba.setLocation(200, 100); coba.setTitle("Window Text”); coba.show(); } }

(3)

TI1163 – Dasar Perancangan GUI © Restyandito - 13

Component : Text

Beberapa method java.awt.Font

ƒFont (String name, int style, int size)

mengatur jenis font, format font

(PLAIN,BOLD,ITALIC) dan ukuran font.

ƒString getFontName()

mengetahui nama font face

ƒString getFamily()

mengetahui jenis keluarga font

TI1163 – Dasar Perancangan GUI © Restyandito - 14

Component : Label

import javax.swing.*; import java.awt.*; import java.awt.event.*; public class KomponenLabel {

public static void main(String[ ] args) { JFrame frame = new JFrame("Membuat Label");

JLabel label = new JLabel("Pemrograman Berorientasi Obyek"); frame.getContentPane().add(label); frame.pack(); frame.setVisible(true); frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); } }

TI1163 – Dasar Perancangan GUI © Restyandito - 15

Component : Label

import javax.swing.*; import java.awt.*; import java.awt.event.*;

public class KomponenLabelBerformat { public static void main(String[ ] args) {

JFrame frame = new JFrame("Membuat Label");

JLabel label = new JLabel("Pemrograman Berorientasi Obyek"); label.setForeground(Color.yellow);

label.setBackground(Color.blue); label.setOpaque(true);

label.setFont(new Font("SansSerif", Font.BOLD, 14)); frame.getContentPane().add(label); frame.pack(); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

TI1163 – Dasar Perancangan GUI © Restyandito - 16

Component : TextField

import javax.swing.*; import java.awt.*; import java.awt.event.*; public class TeksField {

public static void main(String[ ] args) {

JFrame frame = new JFrame("Membuat TeksField"); JLabel label = new JLabel("Nama :");

JTextField textField = new JTextField(20); frame.getContentPane().setLayout(new FlowLayout()); frame.getContentPane().add(label); frame.getContentPane().add(textField); frame.pack(); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

Component

Beberapa obyek ContentPanel, yaitu :

JPasswordField, JTextArea, JButton, JRadioButton,

JCheckBox, JComboBox.

Event dan Listener

<<interface>> EventListener <<interface>> ActionListener <<interface>> ComponentListener <<interface>>

MouseListener MouseMotionListener<<interface>>

<<interface>> WindowListener <<interface>> TextListener Event-Listener interface

(4)

TI1163 – Dasar Perancangan GUI © Restyandito - 19

Event dan Listener.

import java.awt.*; import java.awt.event.*; import javax.swing.*; class HelloPanel extends Jpanel {

public void paintComponent(Graphics g) { super.paintComponent(g);

g.drawString("Hello ...", 75, 100);

g.drawString("Frame dengan listener", 75, 120); }

}

TI1163 – Dasar Perancangan GUI © Restyandito - 20

Event dan Listener.

class FrameMendengar extends Jframe { public FrameMendengar() {

setTitle("HelloWorld dengan listener"); setSize(300, 200);

addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {

System.exit(0); } } );

Container contentPane = getContentPane(); contentPane.add(new HelloPanel()); } }

public class HelloFrame {

public static void main(String[ ] args) { JFrame frame = new FrameMendengar(); frame.show();

} }

TI1163 – Dasar Perancangan GUI © Restyandito - 21

Event dan Listener

WindowListener interface memiliki 7 method, yaitu

windowActivated, windowClosed, windowClosing,

windowDeactivated, windowDeiconified, windowIconified,

windowOpened.

TI1163 – Dasar Perancangan GUI © Restyandito - 22

Event dan Listener

import java.awt.*; import java.awt.event.*; import javax.swing.*;

class FrameKedua extends JFrame { public FrameKedua() {

setTitle("Frame Keduaku di Tengah"); addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) { System.exit(0);

} });

TI1163 – Dasar Perancangan GUI © Restyandito - 23

Event dan Listener

Toolkit tk = Toolkit.getDefaultToolkit(); Dimension d = tk.getScreenSize(); int panjangLayar = d.height; int lebarLayar = d.width;

setSize(panjangLayar / 2, lebarLayar / 2); setLocation(panjangLayar / 4,lebarLayar / 4); Image gambar = tk.getImage("icon01.jpg"); setIconImage(gambar);

} }

public class ProgramFrame2 { public static void main(String[ ]args) {

JFrame frame = new FrameKedua(); frame.show();

} }

TI1163 – Dasar Perancangan GUI © Restyandito - 24

(5)

TI1163 – Dasar Perancangan GUI © Restyandito - 25

Menggambar Grafik.

import java.awt.*; import java.awt.event.*; import javax.swing.*;

class DrawRectPanel extends Jpanel { public void paintComponent(Graphics g) {

super.paintComponent(g); g.setColor(Color.blue); g.drawRect(10, 10, 80, 30);

g.drawRoundRect(100, 10, 80, 30, 15, 15); int thickness = 4;

for (int i = 0; i <= thickness; i++)

g.draw3DRect(200 - i, 10 - i, 80 + 2 * i, 30 + 2 * i, true); for (int i = 0; i < thickness; i++)

g.draw3DRect(200 - i, 50 - i, 80 + 2 * i, 30 + 2 * i, false); g.drawOval(10, 100, 80, 30);

} }

TI1163 – Dasar Perancangan GUI © Restyandito - 26

Menggambar Grafik.

class DrawRectFrame extends Jframe { public DrawRectFrame() {

setTitle("DrawRect"); setSize(300, 200);

addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {

System.exit(0); } } );

Container contentPane = getContentPane(); contentPane.add(new DrawRectPanel()); } }

public class DrawRect {

public static void main(String[ ] args) { JFrame frame = new DrawRectFrame(); frame.show();

} }

TI1163 – Dasar Perancangan GUI © Restyandito - 27

Referensi

• Garrido, Jose M., Object Oriented Programming:

From Problem Solving to Java, Charles River Media

Inc., 2003. hal 261-302

• Deitel H.M., Java How To Program, Prentice Hall,

2003. hal 569-750

• Hortsmann, Cay S., Core Java : Volume

1-Fundamentals, Sun Microsystems Press, 1999. hal

Gambar

gambar yang digunakan sebagai icon dari frame

Referensi

Dokumen terkait

Pada saat Peraturan Daerah ini mulai berlaku, Peraturan Daerah Kabupaten Nomor 7 Tahun 2001 tentang Retribusi dan Sewa Pemakaian Kekayaan Daerah (Lembaran Daerah

Adapun hipotesis dalam penelitian ini adalah penggunaan metode snowball throwing dapat meningkatkan prestasi belajar siswa dan pencapaian KKM mata pelajaran IPS materi

Penelitian ini bertujuan untuk mengetahui aktivitas penyembuhan luka sediaan salep kombinasi ekstrak etanol daun sirih hijau ( Piper betle L.) dan minyak cengkeh ( Syzgium

Quraish Shihab dalam tafsir al-Mishbah, sedangkan penelitian ini lebih dikhususkan pada surat T}a&gt;ha ayat 41-44 saja yang membahas tentang konsep qawlan layyina

Menurut PIC ESAP, seiring berjalannya waktu pada program ESAP, timbul berbagai permasalahan seperti peningkatan kemampuan dari para peserta berkemampuan lebih tinggi dan

Teori interaksi simbolik berpandangan bahwa seseorang berbuat dan bertindak bersama dengan orang lain, berdasarkan konsep makna yang berlaku pada masyarakatnya; makna itu

&#34;roses pengeluaran sputum dari paruparu, bronkus dan trakea yang dihasilkan oleh klien &#34;roses pengeluaran sputum dari paruparu, bronkus dan trakea yang dihasilkan oleh

Kondisi SM Rimbang Baling sangat memprihatinkan saat ini, dan sangat disayangkan jika pada akhirnya, pemasalahan yang terjadi di kawasan konservasi menyebabkan