Class-Class Event

Sebuah event object mempunyai sebuah class event sebagai tipe data acuannya. Akar dari hirarki class event adalah class EventObject, yang dapat ditemukan pada paket java.util. Immediate subclass dari class EventObject adalah class AWTEvent. Class AWTEvent didefinisikan pada paket java.awt. Itu merupakan akar dari semua AWTbased events. Berikut ini beberapa dari class-class AWT event.

ComponentEvent  = Extends AWTEvent Dijalankan ketika sebuah komponen
dipindahkan, di-resize, dibuat visible atau hidden.

InputEvent = Extends ComponentEvent. Abstrak root class event untuk semua
komponen-level input class-class event.

ActionEvent = Extends AWTEvent. Dijalankan ketika sebuah tombol ditekan,
melakukan double-klik daftar item, atau memilih sebuah menu.

ItemEvent = Extends AWTEvent. Dijalankan ketika sebuah item dipilih atau dideselect
oleh user, seperti sebuah list atau checkbox.

KeyEvent = Extends InputEvent. Dijalankan ketika sebuah key ditekan, dilepas
atau diketikkan.
MouseEvent = Extends InputEvent. Dijalankan ketika sebuah tombol mouse
ditekan, dilepas, atau di-klik (tekan dan lepas), atau ketika sebuah
kursor mouse masuk atau keluar dari bagian visible dari komponen.

TextEvent = Extends AWTEvent. Dijalankan ketika nilai dari text field atau text
area dirubah.
WindowEvent = Extends ComponentEvent. Dijalankan sebuah object Window dibuka,
ditutup, diaktifkan, nonaktifkan, iconified, deiconified, atau ketika
focus ditransfer kedalam atau keluar window.

Port

Sekarang, protokol hanya bisa dipertimbangkan jika digunakan dalam konteks suatu jasa.
Sebagai contoh, protokol HTTP digunakan ketika Anda menyediakan isi Web melalui layanan
HTTP. Setiap komputer pada internet dapat menyediakan berbagai jenis layanan melalui
berbagai jenis protokol yang mendukung. Masalahnya, bagaimanapun juga, kita harus
mengetahui jenis layanan sebelum sebuah informasi dapat ditransfer. Untuk itulah port
digunakan.
Port adalah 16-bit nomor dimana mengenal setiap layanan yang ditawarkan oleh server
jaringan. Untuk menggunakan layanan khusus dan oleh karena itu, jalur komunikasi yang
melewati protokol tertentu, Anda perlu menyambungkan pada port yang sesuai. Port
dihubungkan dengan nomor dan beberapa nomor bersifat spesifik yang berhubungan dengan
jenis layanan khusus. Port dengan layanan pekerjaan tertentu disebut port standar. Sebagai
contoh, layanan FTP terletak pada port 21 sedangkan layanan HTTP terletak pada port 80. Jika
Anda ingin menggunakan file transfer FTP, Anda perlu terhubung dengan port 21 pada
komputer Anda. Sekarang, semua standar layanan tertentu diberikan nilai port dibawah 1024.
port dengan nilai diatas 1024 disediakan untuk komunikasi custom. Jika terdapat kasus
dimana port dengan nilai diatas 1024 telah digunakan oleh beberapa komunikasi custom, Anda
harus mencari nilai lain yang tidak digunakan.

Protokol

sana harus terdapat suatu jumlah yang sama untuk mekanisme penangangan komunikasi.
Setiap jenis komunikasi membutuhkan protokol yang spesifik dan unik.
Protokol mengatur peraturan dan standar yang menetapkan jenis komunikasi internet yang
khusus. Hal tersebut menjelaskan format data yang dikirim lewat internet, seiring dengan
bagaimana dan kapan itu dikirim.
Konsep dari protokol tentunya tidak terlalu asing untuk kita. Mengingat sudah beberapa kali
Anda telah menggunakan jenis percakapan ini :

“Hallo.”
“Hallo. Selamat siang. Bolehkah saya berbicara dengan Joan?”
“Okay, mohon tunggu sebentar.”
“terima kasih.”

Ini adalah protokol sosial yang digunakan ketika dalam pembicaraan melalui telepon. Jenis
protokol tipe ini memberikan kita kepercayaan untuk mengetahui apa yang harus dilakukan
dalam situasi tersebut. Mari kita lihat beberapa protokol penting yang digunakan pada
internet. Hypertext Transfer Protocol (HTTP) adalah salah satu protokol yang sering
digunakan. Digunakan untuk mentransfer dokumen HTML pada Web. Kemudian, ada juga File
Transfer Protocol (FTP) dimana lebih umum dibandingkan dengan HTTP dan memperbolehkan
Anda untuk mentransfer file biner lewat intenet. Kedua protokol tersebut memiliki peraturan
masing-masing dan standar dalam pengiriman data. Java juga mendukung kedua protokol
tersebut.

IP Address

Pada setiap komputer yang tersambung dengan internet memiliki alamat IP yang unik. Alamat
IP secara logika hampir sama dengan alamat pengiriman surat tradisional dimana memiliki arti
bahwa alamat yang bersifat unik tersebut mewakili dari keterangan sebuah object. Alamat
tersebut diwakilkan dalam 32-bit nomor yang digunakan sebagai pengenal yang bersifat unik
dari setiap komputer yang tersambung dengan internet. 192.1.1.1 adalah contoh dari sebuah
alamat IP. Mereka juga bisa ditulis dengan bentuk simbol seperti docs.rinet.ru.

Mengimplementasikan interface Runnable

Cara lain untuk membuat sendiri sebuah thread adalah dengan mengimplementasikan
interface Runnable. Hanya satu method yang dibutuhkan oleh interface Runnable yaitu
method run. Bayangkanlah bahwa method run adalah method utama dari thread yang
Anda ciptakan.
Contoh dibawah ini hampir sama dengan contoh terakhir yang telah Anda pelajari, tapi
pada contoh ini Anda akan mengimplement interface Runnable.

class PrintNameThread implements Runnable {
Thread thread;
PrintNameThread(String name) {
thread = new Thread(this, name);

thread.start();
}
public void run() {
String name = thread.getName();
for (int i = 0; i < 100; i++) {
System.out.print(name);
}
}
}
class TestThread {
public static void main(String args[]) {
new PrintNameThread(“A”);
new PrintNameThread(“B”);
new PrintNameThread(“C”);
new PrintNameThread(“D”);
}
}

Menurunkan (extend) class Thread

Contoh berikut ini adalah user akan mendefinisikan sebuah class Thread yang akan menuliskan nama dari sebuah object thread sebanyak 100 kali.

class PrintNameThread extends Thread {

PrintNameThread(String name) {
super(name);
// menjalankan thread dengan satu kali instantiate
start(); }
public void run() {
String name = getName();
for (int i = 0; i < 100; i++) {
System.out.print(name);
}
}
}
class TestThread {
public static void main(String args[]) {
PrintNameThread pnt1 = new PrintNameThread(“A”);
PrintNameThread pnt2 = new PrintNameThread(“B”);
PrintNameThread pnt3 = new PrintNameThread(“C”);
PrintNameThread pnt4 = new PrintNameThread(“D”);
}
}

Perhatikan bahwa variable reference pnt1, pnt2, pnt3, dan pnt4 hanya digunakan satu kali. Untuk aplikasi ini, variabel yang menunjuk pada tiap thread pada dasarnya tidak dibutuhkan. Anda dapat mengganti body dari main tersebut dengan pernyataan berikut ini:

new PrintNameThread(“A”);
new PrintNameThread(“B”);
new PrintNameThread(“C”);
new PrintNameThread(“D”);

Program akan memberikan keluaran yang berbeda pada setiap eksekusi. Berikut ini adalah salah satu contoh dari output-nya.

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCDABCDABCDA
BCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD
ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABC
DABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDBC
DBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBC
DBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBCDBC
DBCDBCDBCDBCDBCDBCDBCD

Pengertian SWING dalam JAVA

Swing merupakan koleksi komponen GUI yang berjalan secara seragam di setiap plattform murni yang mendukung JVM (Java Virtual Machine). Keseluruhankomponen Swing ditulis menggunakan java sehingga mampu menyediakan fungsionalitas maksimal di platform yang ekuivalen. Hal ini juga membuktikan bahwa portabilitas aplikasi swing sangat tinggi.

Swing toolkit menyediakan banyak sekali komponen untuk membangun aplikasi GUI desktop. Swing toolkit juga menyediakan class-class untuk menangani interaksi antara aplikasi dan user menggunakan standard input seperti keyboard dan mouse. Komponen-komponen yang disediakan swing mencakup semua GUI toolkit yang lazim digunakan dalam apilasi desktop, seperti : JTabel, JList, JTree, JButton, JLabel dan masih banyak komponen-komponen lainnya yang sudah teruji dan siap pakai.

Komponen-komponen Swing dapat di klasifikasikan dalam tiga bagian, yaitu top level container, intermediate container dan komponen atomic (tunggal)

  • Container tingkat atas (top level) berfungsi untuk menyediakan ruang bagi komponen-komponen lainya. Container jenis ini terdiri daro JFrame, JWindow, JDialog, dan JApplet.
  • Container menengah adalah komponen (non top level) yang keberadaannya untuk menampung komponen lainnya, misal panel, tabbed dan tool bar
  • Komponen atomic berfungsi untuk menampilkan dan/atau menerima informasi. Komponen tunggal memiliki peran penting dalam menghasilkan antarmuka user. Contoh komponen atomic adalah text field, button dan label

Grafik

Beberapa metode grafik ditemukan dalam Graphic class. Dibawah ini adalah daftar dari
beberapa metode.

drawLine()

drawPolyline()

setColor()
fillRect()

drawPolygon()

getFont()
drawRect()

fillPolygon()

setFont()
clearRect()

getColor()

drawString()

Hubungan dari kelas ini adalah Color class, dimana memiliki tiga konstruktor.

1. Color(int r, int g, int b) : Nilai integer 0 – 255.

2. Color(float r, float g, float b) : Nilai float 0.0 – 1.0.

3. 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 metode di dalam Graphic
class.

import java.awt.*;
public class GraphicPanel extends Panel {
GraphicPanel() {
setBackground(Color.black); //constant in Color class
}
public void paint(Graphics g) {
g.setColor(new Color(0,255,0)); //green
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);
}
}

Window Classes Fundamental

Dalam mengembangkan aplikasi GUI, komponen GUI seperti tombol atau textfield diletakkan
di dalam kontainer. Berikut ini adalah daftar dari beberapa kelas penting pada kontainer yang telah disediakan oleh AWT.

1. Komponen = Abstract Class untuk objek yang dapat ditampilkan pada console dan berinteraksi dengang user. Bagian utama dari semua kelas AWT.

 

2. Kontainer = Abstract Subclass dari Component Class. Sebuah komponen yang dapat menampung komponen yang lainnya.

 

3. Panel = Turunan dari Container Class. Sebuah frame atau window tanpa titlebar, menubar tidak termasuk border. Superclass dari applet class.

 

4. Window = Turunan dari Container class. Top level window, dimana berarti tidak bisa dimasukkan dalam objek yang lainnya.Tidak memiliki border dan menubar.

 

5. Frame = Turunan dari window class. Window dengan judul, menubar, border dan pengatur ukuran di pojok. Memiliki empat konstruktor , dua diantaranya memiliki penulisan seperti dibawah ini :
Frame()
Frame(String title)

 

Untuk mengatur ukuran window, menggunakan metode 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 metode 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.

 

Dalam mengembangkan aplikasi GUI, komponen GUI seperti tombol atau textfield diletakkan
di dalam kontainer. Berikut ini adalah daftar dari beberapa kelas penting pada kontainer yang
telah disediakan oleh AWT.

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.
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 dengan komponen Swing.
Pengenalan