LINGKUNGAN JAVA Lingkungan Java yang ada saat ini : ð DUKUNGAN BAHASA : Kumpulan kelas dan metode yang mendukung fasilitas bahasa yang sangat bagus pada Java seperti string, array, fungsionalitas tak tergantung sistem, thread, dan eksepsi; ð UTILITAS : Kumpulan kelas yang menyediakan fungsi-fungsi utilitas seperti pembangkit bilangan acak, fungsi-fungsi tanggal dan waktu serta kelas-kelas penyimpanan seperti kelas Vector dan Hashtable. Latihan 5 mendemonstrasikan penggunaan kelas Vektor; ð MASUKAN/KELUARAN : Kumpulan kelas yang mengambil masukan dari berbagai sumber dan memanipulasi masukan tersebut dengan sejumlah cara serta menampilkannya ke berbagai sumber dengan cara yang bervariasi. Kelas-kelas ini meliputi kelas-kelas filter, pengakses file secara sekuensial maupun acak dan puluh metode untuk membaca dan menulis semua jenis tipe data; ð JARINGAN : Kumpulan kelas yang digunakan untuk penghubung ke komputer-komputer lain di jaringan lokal maupun internet. Kelas-kelas ini meliputi Socket, Internet Address dan pemroses URL (Uniform Resource Locator); ð ABSTRACT WINDOW TOOLKIT (AWT) : Kumpulan kelas yang mengimplementasikan antarmuka pengguna grafis (GUI : Graphical User Interface) yang tidak tergantung terhadap platform. Latihan 5 menunjukan penggunaan beberapa kelas AWT; ð APPLET : Kelas yang memungkinkan membuat program Java yang nantinya didownload dari halaman Web dan dijalankan di browser klien seperti HotJava dan Netscape. Latihan 5 // Kelas-kelas GUI import java.awt.Frame; import java.awt.TextField; import java.awt.Panel; import java.awt.Button; import java.awt.GridLayout import java.awt.Event; import java.awt.color; import java.awt.Label; // Kelas book kita Import book; // Kelas utilitas Import java.util.Vector; Class bookWindow extends Frame { TextField title; TextField author; TextField publisher; Vector theBooks; Int currentIdx; bookWindow() { super(“Book Shelf”); // Menginisialisasi array yang dimensinya dapat mengembang theBooks = new Vector(3); currentIdx = 0; Panel centerPanel = new Panel(); centerPanel.setLayout(new GridLayout(0, 2)); centerPanel.add(new Label(“ Title”)); centerPanel.add(author = new TextField(20)); centerPanel.add(new Label(“ Author”)); centerPanel.add(author = new TextField(20)); centerPanel.add(new Label(“ Publisher”)); centerPanel.add(publisher = new TextFiled(20)); add(“center”, centerPanel); Panel bottomPanel = new Panel(); bottomPanel.add(new Button(“store”)); bottomPanel.add(new Button(“clear”)); bottomPanel.add(new Button(“prev”)); bottomPanel.add(new Button(“next”)); bottomPanel.add(new Button(“exit”)); add(“South”, bottomPanel); move(200, 100); pack(); show(); } Public boolean handleEvent(Event evt) { If (evt.id == Event.ACTION_EVENT) { If (“store”.equals(evt.arg)) { Book aBook = new book(title.getText() , Author.getText() , Publisher.getText()); theBooks.addElement(aBook); currentIdx = theBooks.size(); return true; } If (“clear”.equals(evt.arg)) { Title.setText(“ ”); Author.setText(“ “); Publisher.setText(“ “); Return ture; } If (“prev”.equals(evt.arg)) { If (currentIdx >0) { Book aBook = (book) theBooks.elementAt(--currentIdx); title.setText(aBook.getTitle()); author.setText(aBook.getAuthor()); publisher.setText(aBook.getPublisher()); } Return true; } If (“next”.equals(evt.arg)) { If (currentIdx < (theBooks.size() -1)) { Book aBook = (book) theBooks.elementAt(++currentIdx); Title.setText(aBook.getTitle()); Author.setText(aBook.getAuthor()); Publisher.setText(aBook.getPublisher()); } Return ture; } If (“exit”.equals(evt.arg)) { System.exit(0); } } } Class bookGUI { Public static void main(String args[ ]) { New bookWindow(); } } Keluaran Latihan 5 seperti ditunjukan dibawah ini : Latihan 5 memerlukan pemahaman tentang dasar-dasar kelas AWT dan kelas Vector. Tujuan program ini adalah menampilkan jendela yang dengannya bisa memasukkan maupun menampilkan record yang disimpan pada kelas Vector. Semua fungsionalitas berasal berasal dari GUI, dan ini merupakan alasan mengapa fungsi main pada Latihan 5 berisi konstruksi kelas Frame (extends merupakan kata kunci untuk pewarisan). Kelas Frame adalah komponen GUI yang mengimplementasikan jendela dengan bingkai. Jendela tidak hanya berupa empat titik sudut dengan bingkai. Jendela juga merupakan kontainer yang dapat memuat komponen GUI lainnya (widget bagi pemrogram X Windows). Oleh karena itu perlu membuat komponen grafis lain dan menambahkannya ke frame dengan metode add(). Semua GUI ini diprogram dengan model pemrograman event-driven. Model event-driven menyusun program sebagai serangkaian penangan kejadian yang akan menanggapi kejadian-kejadian yang dibangkitkan oleh pengguna (seperti, pengubahan posisi mouse, penekanan tombol, pemilihan menu, dsb).
|