Klik disini - Beny Susanto

Download Report

Transcript Klik disini - Beny Susanto

KONSEP OOP DAN AWT
[ RIO PRIANTAMA ]
KONSEP OOP
Pemrograman berorientasi objek (OOP) ialah sebuah
metode pemrograman berbasiskan hierarki kelas-kelas
dan melibatkan objek.
Pemrograman berorientasi objek merupakan bagian
utama pada Java dengan syarat utama yaitu harus
membuat program berupa kelas. Rumus OOP:
//membuat objek dari suatu kelas menggunakan new
Nama_kelas nama_objek = new nama_kelas();
//memanggil method dari objeknya
Nama_objek.nama_method();
//mengeset properties
nama_objek.nama_properties = value;
ANALOGI
Objek-objek dalam dunia nyata punya 2 karakteristik
khusus yaitu: Status dan Perilaku.
Contoh: Objek Sepeda Motor punya status (jumlah
spion, jumlah ban) dan perilaku (mengerem,
mempercepat).
Bahasa yang berorientasi pada objek pun mempunyai
karakteristik yang sama dengan objek-objek didunia
nyata.
Status dalam bahasa pemrograman biasanya disimpan
sebagai variabel dan perilaku diimplementasikan
sebagai method.
AWT [Abstract Windowing toolkit]
Java API AWT menyediakan antarmuka untuk
pengembangan secara cepat dan mudah.
AWT adalah pustaka windowing yang menyediakan
kelas yang mengkapsulkan banyak komponen
antarmuka grafis. AWT juga berisi kelas untuk
mengelola layout dan utilitas penanganan font, color.
Kelemahan utama AWT adalah fleksibilitas tampilan
GUI, seperti painthing method yang masih sangat
primitif.
Komponen AWT diletakkan dalam 1 package yaitu
java.awt.*;
AwtPertama.java
import java.awt.*;
public class AwtPertama {
public static void main(String[] args){
Frame aku=new Frame(" Belajar AWT
Gampang");
aku.setSize(300,200);
aku.show();}
}
SwingPertama.java
import javax.swing.*;
public class SwingPertama {
public static void main(String[] args){
JFrame aku=new JFrame(" Belajar AWT
Gampang");
aku.setSize(300,200);
aku.show();}
}
PAKET java.awt
 Mempunyai sekumpulan komponen antarmuka
pemakai yang kaya.
 Model penanganan kejadian yang andal.
 Kakas grafis dan citra yang kaya seperti bentuk,
warna
 Layout manager untuk pengelolaan layout yang
fleksibel yang tidak bergantung pada ukuran window
dan resolusi layar.
Model Peer pada AWT
AWT
Component
Peer for
Windows
Peer for
Solaris
Peer for Mac
Hirarki Kelas-kelas di AWT
Kelas AWT dikelompokan menjadi 3:
1. Kelas-kelas control
2. Kelas-kelas Layout
3. Kelas-kelas Menu
Kelas Control
Kelas Control terdiri dari 2 kelas utama, yaitu:
1. Kelas Component : superkelas sekelompok kelas
AWT yang mengimplementasikan antarmuka grafis.
Kelas Component diturunkan dari kelas objek.
2.
Kelas Container : subkelas component yang
mendefinisikan component yang dapat berisi
component lain. Container menyediakan metode
penambahan, penampilan, penghitungan dan
penghilangan component yang dibuat.
HIRARKI KELAS COMPONENT
Button
Checkbox
Canvas
Choice
Object
Component
Container
Label
List
Scrollbar
TextArea
TextComponent
TextField
MENAMPILKAN BUTTON
import java.awt.*;
public class TesButton extends Frame {
public static void main(String[] args) {
TesButton apl = new TesButton();
}
public TesButton() {
super("Tes Button");
setSize(700, 300);
Panel panelTombol = new Panel();
Button b=new Button("Cancel");
Button k=new Button("Oke");
panelTombol.add(b);
panelTombol.add(k);
add("South", panelTombol);
show();
} }
Cara Pendeklarasian Button:
Button <nama objek> = new
Button (<Text Button>);
MENAMPILKAN LABEL
import java.awt.*;
public class TesLabel extends Frame {
public static void main(String[] args) {
TesLabel apl = new TesLabel();
}
public TesLabel() {
super("COBA LABEL");
setSize(700, 300);
Label nama=new Label("Nama Mahasiswa:");
Panel panellabel = new Panel();
panellabel.add(nama);
add("West", panellabel);
show();
}
}
HIRARKI KELAS CONTAINER
Object
Panel
Applet
Component
Container
Dialog
Window
Frame
LAYOUT MANAGER
Posisi dan ukuran suatu komponen ditentukan oleh
layout manager. Layout manager mengatur tampilan dari
komponen di dalam kontainer.
Berikut ini beberapa layout manager yang terdapat di
dalam Java.
1. Flow Layout
2. Border Layout
3. Grid Layout
4. GridBag Layout
FLOW LAYOUT
Flow layout akan membuat kontrol ditampilkan ke kanan
dalam sebuah baris. Jika telah penuh maka akan
ditampilkan ke baris bawah berikutnya. Flow layout
adalah setting standar tampilan kontrol di web.
FlowLayout Constructor
Flowlayout()
Membuat Objek baru FlowLayout dengan posisi di tengah dan lima unit
horizontal dan vertikal gap dimasukan pada komponen sebagai default.
FlowLayout (int align)
Membuat objek baru FlowLayout dengan posisi spesifik dan lima unit horizontal
dan vertikal gap dimasukan pada komponen sebagai default.
flowLayout(int align, int hgap, int vgap)
Membuat objek baru FlowLayout dengan argumen pertama sebagai posisi pada
komponen dan hgap untuk horizontal dan vgap untuk vertikal pada komponen.
import java.awt.*;
class FlowLayoutDemo extends Frame {
public static void main(String args[]) {
FlowLayoutDemo fld = new FlowLayoutDemo();
fld.setLayout(new FlowLayout(FlowLayout.RIGHT,10,10));
fld.add(new Button("ONE"));
fld.add(new Button("TWO"));
fld.add(new Button("THREE"));
fld.add(new Button("FOUR"));
fld.add(new Button("FIVE"));
fld.add(new Button("SIX"));
fld.add(new Button("SEVEN"));
fld.setSize(300, 300);
fld.setVisible(true);
} }
BORDER LAYOUT MANAGER
Border Layout membagi kontainer menjadi lima bagian
diantaranya utara, selatan, timur, barat dan tengah.
Setiap komponen dimasukan ke dalam region yang
spesifik. Region utara dan selatan membentuk jalur
horizontal sedangkan region timur dan barat membentuk
jalur vertikal.
BorderLayout Constructor
BorderLayout()
Membuat objek BorderLayout baru tanpa spasi yang diaplikasikannya diantara
komponen yang berbeda
BorderLayout(int hgap, int vgap)
Membuat objek BorderLayout baru dengan spasi unit hgap horizontal dan unit
vgap vertikal yang diaplikasikan diantara komponen yang berbeda.
import java.awt.*;
class BorderLayoutDemo extends Frame {
public static void main(String args[]) {
BorderLayoutDemo bld = new BorderLayoutDemo();
bld.setLayout(new BorderLayout(10, 10)); //may remove
bld.add(new Button("NORTH"), BorderLayout.NORTH);
bld.add(new Button("SOUTH"), BorderLayout.SOUTH);
bld.add(new Button("EAST"), BorderLayout.EAST);
bld.add(new Button("WEST"), BorderLayout.WEST);
bld.add(new Button("CENTER"), BorderLayout.CENTER);
bld.setSize(200, 200);
bld.setVisible(true);
}
}
GRID LAYOUT MANAGER
Dengan
GridLayout
manager,
komponen
juga
diposisikan dari kiri ke kanan dan dari atas ke bawah
seperti pada FlowLayout manager. GridLayout manager
membagi kontainer menjadi baris dan kolom. Semua
region memiliki ukuran yang sama. Hal tersebut tidak
mempedulikan ukuran sebenarnya dari komponen
GridLayout Constructor
GridLayout()
Membuat objek GridLayout baru dengan satu baris dan satu kolom sebagai
default.
GridLayout (int rows, int cols)
Membuat objek GridLayout baru dengan jumlah baris dan kolom sesuai dengan
keinginan
import java.awt.*;
class GridLayoutDemo extends Frame {
public static void main(String args[]) {
GridLayoutDemo gld = new GridLayoutDemo();
gld.setLayout(new GridLayout(2, 3, 4, 4));
gld.add(new Button("ONE"));
gld.add(new Button("TWO"));
gld.add(new Button("THREE"));
gld.add(new Button("FOUR"));
gld.add(new Button("FIVE"));
gld.setSize(200, 200);
gld.setVisible(true);
}
}
EVENT
Event adalah sebuah kejadian yang dipicu oleh user,
kejadian tersebut dapat berupa mouse click, mouse
digeser, tombol diklik, kotak periksa diklik, combobox
dipilih itemnya.
Event juga dapat dikatakan sinyal dari user kepada
program bahwa telah terjadi sesuatu.
Pada Awt event dapat dipanggil dari package :
Import java.awt.event.*;
User Action
Source Object
Event Type
Klik tombol
Button, Jbutton
ActionEvent
Memilih Item
ComboBox, JComboBox
Action Event
Menekan tombol enter pada text
field
TextField, JTextField
Action Event
Window opened, closed
Window
Window Event
Klik kotak periksa
CheckBox, JCheckBox
ItemEvent
Klik tombol radio
JRadioButton
ItemEvent
Memilih Item (lebih dari satu)
List, Jlist
ListSeectionEvent
Event Class
Listener Interface
Listener Methods
ActionEvent
ActionListener
actionPerformed(Action Event)
ItemEvent
ItemListener
itemStateChanged(ItemEvent)
WindowEvent
WindowListener
windowClosing(WindowEvent)
windowOpened(WindowEvent)
windowClosed(WindowEvent)
windowIconified(WindowEvent)
windowActivated(WindowEvent)
windowDeactivated(WindowEvent)
import java.awt.*;
import java.awt.event.*;
public class closewindow extends Frame{
public static void main(String[] args){
closewindow apl=new closewindow();
}
public closewindow(){
super("JUDUL");
addWindowListener(new closewindow.keluar());
setSize(300,200);
show();
}
class keluar extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
} }