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 Window opened, closed Window Window Event Klik kotak periksa CheckBox, JCheckBox ItemEvent Klik tombol radio JRadioButton 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 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); } } }