Abstract Windowing Toolkit (AWT) vs. Swing
The Java Foundation Class (JFC), merupakan bagian penting dari Java SDK,
yang termasuk dalam koleksi dari API dimana dapat mempermudah pengembangan
aplikasi JAVA GUI. JFC termasuk diantara 5 bagian utama dari API yaitu AWT dan
Swing.
Tiga bagian yang lainnya dari API adalah Java2D, Accessibility, dan Drag dan Drop. Semua itu membantu pengembang dalam mendesain dan mengimplementasikan aplikasi visual yang lebih baik.
Tiga bagian yang lainnya dari API adalah Java2D, Accessibility, dan Drag dan Drop. Semua itu membantu pengembang dalam mendesain dan mengimplementasikan aplikasi visual yang lebih baik.
AWT dan Swing menyediakan komponen GUI yang dapat
digunakan dalam membuat aplikasi Java dan Applet.
Anda akan mempelajari applet pada bab berikutnya. Tidak seperti beberapa komponen AWT yang menggunakan native code, keseluruhan Swing ditulis menggunakan bahasa pemrograman Java. Swing menyediakan implementasi platform-independent dimana aplikasi yang dikembangkan dengan platform yang berbeda dapat memiliki tampilan yang sama.
Begitu juga dengan AWT menjamin tampilan look and feel pada aplikasi yang dijalankan pada dua mesin yang berbeda menjadi terlihat sama. Swing API dibangun dari beberapa API yang mengimplementasikan beberapa jenis bagian dari AWT.
Kesimpulannya, komponen AWT dapat digunakan bersama komponen Swing.
7.3 Komponen GUI pada AWT
7.3.1 Window Classes Fundamental
Dalam mengembangkan aplikasi GUI, komponen GUI seperti
tombol atau textfield diletakkan di dalam kontainer. Berikut ini adalah daftar dari
beberapa class penting pada kontainer yang telah
disediakan oleh AWT.
Class AWT
|
Deskripsi
|
Komponen
|
Abstract Class untuk object yang dapat
ditampilkan pada console dan
berinteraksi dengang user.
Bagian utama dari semua class AWT.
|
Kontainer
|
Abstract Subclass dari Component Class. Sebuah
komponen yang dapat
menampung komponen yang
lainnya.
|
Panel
|
Turunan dari Container Class. Sebuah frame atau
window tanpa titlebar,
menubar tidak termasuk
border. Superclass dari applet class.
|
Window
|
Turunan dari Container class. Top level window,
dimana berarti tidak bisa
dimasukkan dalam object
yang lainnya.Tidak memiliki border dan menubar.
|
Frame
|
Turunan dari window class. Window dengan judul,
menubar, border dan
pengatur ukuran di pojok. Memiliki empat
constructor , dua diantaranya
memiliki penulisan seperti dibawah ini :
Frame()
Frame(String title)
|
Tabel 1.2.1: Class kontainer
AWT
Untuk mengatur ukuran window, menggunakan method setSize.
void
setSize(int width, int height)
mengubah ukuran komponen ini dengan width dan height
sebagai parameter.
void
setSize(Dimension d)
mengubah ukuran dengan d.width dan d.height berdasar
pada spesifikasi Dimension d. Default dari window adalah not visible atau tak
tampak hingga Anda mengatur visibility menjadi true. Inilah syntax untuk method setVisible.
void
setVisible(boolean b)
Dalam mendesain aplikasi GUI, Object Frame selalu
digunakan. Dibawah ini adalah contoh bagaimana
membuat sebuah aplikasi.
import
java.awt.*;
public class
SampleFrame extends Frame {
public static
void main(String args[]) {
SampleFrame sf
= new SampleFrame();
sf.setSize(100,
100); //Coba hilangkan baris ini
sf.setVisible(true); //Coba hilangkan baris ini
}
}
perhatikan bahwa tombol tutup pada frame tidak akan
bekerja karena tidak ada mekanisme event handling yang ditambahkan di dalam aplikasi. Anda akan belajar
tentang event handling pada
modul selanjutnya.
7.3.2 Grafik
Beberapa method grafik ditemukan dalam class Graphic.
Dibawah ini adalah daftar dari beberapa
method.
drawLine()
|
drawPolyline()
|
setColor()
|
fillRect()
|
drawPolygon()
|
getFont()
|
drawRect()
|
fillPolygon()
|
setFont()
|
clearRect()
|
getColor()
|
drawString()
|
Tabel 1.2.2a: Beberapa
metode dari kelas Graphics
Hubungan
dari class ini adalah class Color, dimana memiliki tiga constructor.
Color(int r, int g, int b)
|
Nilai integer 0 - 255.
|
Color(float r, float g,
float b)
|
Nilai float 0.0 - 1.0.
|
Color(int rgbValue)
|
Panjang nilai : 0 ke 224-1 (hitam ke putih).
Red: bits 16-23
Green: bits 8-15
Blue: bits 0-7
|
Dibawah ini adalah contoh program yang menggunakan beberapa method di dalam class Graphic.
import java.awt.*;
public class GraphicPanel
extends Panel {
GraphicPanel() {
setBackground(Color.black);
//Konstanta dalam class Color
}
public void
paint(Graphics g) {
g.setColor(new
Color(0,255,0)); //hijau
g.setFont(new
Font("Helvetica",Font.PLAIN,16));
g.drawString("Hello
GUI World!", 30, 100);
g.setColor(new
Color(1.0f,0,0)); //red
g.fillRect(30, 100, 150,
10);
}
public static void main(String
args[]) {
Frame f = new Frame("Testing Graphics
Panel");
GraphicPanel gp = new
GraphicPanel();
f.add(gp);
f.setSize(600, 300);
f.setVisible(true);
}
}
Agar panel dapat terlihat atau visible, dia harus
diletakkan didalam window yang dapat terlihat seperti
sebuah frame.
7.3.3 Beberapa komponen AWT
Berikut ini adalah daftar dari kontrol AWT. Kontrol
adalah komponen seperti tombol atau textfield yang mengijinkan user untuk berinteraksi dengan
aplikasi GUI. Berikut ini semua subclass dari class Components.
Label
|
Button
|
Choice
|
TextField
|
Checkbox
|
List
|
TextArea
|
CheckboxGroup
|
Scrollbar
|
Tabel 1.2.3: Komponen AWT
Berikut adalah aplikasi membuat sebuah frame dengan kontrol
yang telah dimasukkan di dalamnya.
import java.awt.*;
class FrameWControls
extends Frame {
public static void
main(String args[]) {
FrameWControls fwc = new
FrameWControls();
fwc.setLayout(new
FlowLayout()); //akan dibahas lebih detail
pada pembahasan
berikutnya
fwc.setSize(600, 600);
fwc.add(new
Button("Test Me!"));
fwc.add(new
Label("Labe"));
fwc.add(new TextField());
CheckboxGroup cbg = new
CheckboxGroup();
fwc.add(new
Checkbox("chk1", cbg, true));
fwc.add(new
Checkbox("chk2", cbg, false));
fwc.add(new
Checkbox("chk3", cbg, false));
List list = new List(3,
false);
list.add("MTV");
list.add("V");
fwc.add(list);
Choice chooser = new
Choice();
chooser.add("Avril");
chooser.add("Monica");
chooser.add("Britney");
fwc.add(chooser);
fwc.add(new Scrollbar());
fwc.setVisible(true);
}
}
7.4 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.FlowLayout
2.BorderLayout
3.GridLayout
4.GridBagLayout
5.CardLayout
Layout manager dapat diatur menggunakan method setLayout
dari class Container. Method ini dapat ditulis sebagai berikut.
void
setLayout(LayoutManager mgr)
Jika Anda memilih untuk tidak menggunakan layout manager,
Anda dapat mengisi null sebagai argumen untuk method ini. Tetapi selanjutnya, Anda akan
mengatur posisi elemen secara manual dengan menggunakan method setBounds dari
class Components.
public void setBounds(int
x, int y, int width, int height)
Method ini mengatur posisi berdasarkan pada argumen x dan
y, dan ukuran berdasarkan argumen width dan height. Hal ini akan
cukup menyulitkan dan membosankan untuk aplikasi jika Anda memiliki beberapa objek komponen didalam object
container. Anda akan memanggil method ini untuk setiap komponen.
7.4.1 FlowLayout Manager
FlowLayout Manager adalah default manager untuk class Panel
dan subclassnya, termasuk class applet.
Cara meletakkan komponen dari FlowLayout Manager dimulai dari kiri ke kanan dan dari atas ke bawah, dimulai dari pojok kiri atas. Seperti pada saat Anda mengetik menggunakan editor kata pada umumnya. Berikut adalah bagaimana FlowLayout Manager bekerja, dimana memiliki tiga constructor seperti daftar di bawah ini.
FlowLayout Constructors
FlowLayout()
|
Membuat object baru FlowLayout dengan posisi di
tengah dan lima unit horizontal dan vertikal
gap dimasukkan pada komponen sebagai default.
FlowLayout(int
align)
|
Membuat object baru FlowLayout dengan posisi
spesifik dan lima unit horizontal dan vertikal
gap dimasukkan pada
komponen sebagai default.
|
FlowLayout Constructors
FlowLayout(int align, int hgap, int vgap)
|
Membuat object baru FlowLayout dengan argumen
pertama sebagai posisi pada komponen
dan hgap untuk
horizontal dan vgap untuk vertikal pada komponen
|
Tidak ada komentar:
Posting Komentar