Graphical User Interface

Post on 06-Jan-2016

34 views 0 download

description

Graphical User Interface. Tujuan. Mengetahui perbedaan AWT dan Swing Mengetahui kegunaan komponen-komponen aplikasi visual di Java Mampu menggunakan komponen-komponen Swing untuk membuat aplikasi visual Mampu membuat event handling di Java. AWT vs Swing. AWT. Swing. - PowerPoint PPT Presentation

transcript

Graphical User Interface

Slide 2

Tujuan Mengetahui perbedaan AWT dan Swing Mengetahui kegunaan komponen-komponen

aplikasi visual di Java Mampu menggunakan komponen-komponen

Swing untuk membuat aplikasi visual Mampu membuat event handling di Java

AWT vs Swing

AWT Terdapat pada

package java.awt Dikembangkan lebih

awal Look and feel depend

on OS Komponen terbatas Applet mudah dikenali

browser

Swing Pada package

javax.swing Dikembangkan setelah

AWT Look and feel not

depend on OS Komponen lebih

bervariasi Tidak semua browser

support applet dg Swing

Slide 4

Contoh program dg Swing

Macam-macam komponen Swing

JFrame JLabel JButton JTextField JTextArea JCombobox Jlist JOptionPane JFileChooser, dll

Tiap komponen memiliki properti yang digunakan untuk mengatur tampilan

Untuk menggunakan salah satu, harus impor dari javax.swing

EVENT HANDLING (PENANGANAN KEJADIAN)

Slide 7

Event (kejadian) Event : kejadian yang muncul ketika user

berinteraksi dengan aplikasi. Contoh :

klik mouseklik tombolmouse bergerak di atas formmemilih dari combo box/listklik kanan/kiri mouse di atas komponen,dll

Slide 8

Event Handling Proses untuk memberikan respon thd event. Di Java, mekanisme event handling di Java

dikenal dg delegation event model. Istilah2 pd mekanisme tsb :

event sourcetempat terjadinya eventyaitu komponen2 visual

event listener : objek penerima & pengolah event

event object : objek yg terbentuk saat tjd event

Slide 9

Delegation Event Model

Slide 10

Contoh Event Handling

langkah 1

langkah 3

langkah 2

Slide 11

Komponen pada event handling

1. Kelas untuk menangani event harus mengimplementasikan (kelas/interface) event listener. Cara lain adlh dg membuat kelas turunan dari kelas yang telah mengimplementasikan salah satu event listener.

2. Kelas yang mengimplementasikan listener harus mengimplementasikan seluruh method yang ada di kelas/interface listener.

3. Listener harus didaftarkan ke dalam objek yang akan berperan sbg event source.

Slide 12

Tipe-tipe eventTipe Event Keterangan

ActionEvent Dibangkitkan pada saat objek button di-klik, item list di-doubleclick, maupun item menu dipilih

AdjustmentEvent Dibangkitkan pada saat objek scrollbar diubah

ComponentEvent Dibangkitkan pada saat sebuah komponen disembunyikan, dipindahkan, diubah ukurannya, maupun diset mjd visible

ContainerEvent Dibangkitkan pd saat sebuah komponen ditambahkan/dipiindahkan ke/dari sebuah container

FocusEvent Dibangkitkan pada saat sebuah komponen memperole atau kehilangan fokus keyboard

InputEvent Kelas induk yg mrpkn kelas abstrak dr semua kelas yg termsk ke dlm event input

ItemEvent Dibangkitkan pd saat sebuah item dlm list atau checkbox diklik; jg tjd saat item-nya dibuat, dan pd saat item menu di-check maupun un-check

KeyEvent Dibangkitkan pd saat input dilakukan melalui keyboard

MouseEvent Dibangkitkan pd saat mouse di-drag, dipindahkan, diklik, ditekan, maupun dilepas; jg tjd pd saat mouse masuk atau keluar dari sebuah komponen

TextEvent Dibangkitkan pd saat teks yg berada dalam komponen textarea atau textfield diubah

WindowEvent Dibangkitkan pd saat window atau form diaktivasi, ditutup, di-minimize, di-maximize, dibuka, atau dikeluarkan

Slide 13

Macam-macam Event SourceEvent Source Keterangan

Button Membangkitkan ActionEvent pd saat button diklik

Checkbox Membangkitkan ItemEvent pd saat di-check atau un-check

Choice Membangkitkan ItemEvent pd saat pilihan diubah

List Membangkitkan ActionEvent pd saat sebuah item di-doubleclick dan membangkitkan ItemEvent pd saat item dipilih/di-check maupun di-uncheck

Item Menu Membangkitkan ActionEvent pd saat item menu diklik dan membangkitkan ItemEvent pd saat item menu di-check maupun di-uncheck

Scrollbar Membangkitkan AdjustmentEvent pd saat scrollbar diubah

Text Membangkitkan TextEvent pd saat user memasukkan karakter pd komponen textarea atau textfield

Window Membangkitkan WindowEvent pd saat sebuah window atau frame diaktivasi, ditutup, dinonaktifkan, di-minimize, di-maximize, dibuka, dan dikeluarkan

Slide 14

Beberapa Interface ListenerTipe Event Keterangan

ActionListener Mendefinisikan sebuah method untuk menangani tjdnya event ActionEvent

void actionPerformed (ActionEvent e)

MouseListener Mendefinisikan 5method untuk menangani tjdnya event MouseEvent

void mouseClicked(MouseEvent e)void mouseEntered(MouseEvent e)void mouseExited(MouseEvent e)void mousePressed(MouseEvent e)void mouseReleased(MouseEvent e)

WindowListener

Mendefinisikan 7 method untuk menangani tjdnya event MouseEvent

void windowActivated (WindowEvent e)void windowClosed (WindowEvent e)void windowClosing (WindowEvent e)void windowDeactivated (WindowEvent e)void windowDeiconified (WindowEvent e)void windowIconified (WindowEvent e)void windowOpened (WindowEvent e)

Slide 15

Contoh Event handling (2)import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

public class Swing3 extends JFrame implements ActionListener{

JComboBox cb;

JLabel lb;

String items[] = {"Acer", "Compaq", "Dell", "Fujitsu", "Sony", "Toshiba"};

public Swing3(String title){

super(title);

setBounds(0, 0, 300, 170);

getContentPane().setLayout(null);

setResizable(false);

setDefaultCloseOperation(EXIT_ON_CLOSE);

Slide 16

cb = new JComboBox();

for (int i=0; i<items.length; i++)

cb.addItem(items[i]);

cb.setLocation(30, 50);

cb.setSize(cb.getPreferredSize());

lb = new JLabel("Program dimulai.");

lb.setLocation(150, 50);

lb.setSize(lb.getPreferredSize());

cb.addActionListener(this);

getContentPane().add(cb);

getContentPane().add(lb);

setVisible(true);

setLocationRelativeTo(null);

}

Slide 17

public static void main(String[] args) {

Swing3 frame = new Swing3("Demo JCombobox");

}

@Override

public void actionPerformed(ActionEvent e) {

if (e.getSource() == cb){

String s = ""+ cb.getSelectedItem();

lb.setText(s);

}

}

}

Slide 18

Slide 19

Tugas