Post on 24-Feb-2016
description
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 newNama_kelas nama_objek = new nama_kelas();
//memanggil method dari objeknyaNama_objek.nama_method();
//mengeset propertiesnama_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
AWTComponent
Peer forWindows
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
Component
Button
Checkbox
Canvas
Choice
Label
List
Scrollbar
TextComponent
ContainerObject
TextArea
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
Component
Container
Object
Panel
Window
Applet
Dialog
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 Layout2. Border Layout3. Grid Layout4. 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 ConstructorFlowlayout()
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 ConstructorBorderLayout()
Membuat objek BorderLayout baru tanpa spasi yang diaplikasikannya diantara komponen yang berbedaBorderLayout(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 removebld.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 ConstructorGridLayout()
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); } } }