Java GUI With Swing - UNY

Transcription

JAVA GUIMuh. Izzuddin Mahali, M.Cs.PT. Elektronika FT UNY

PENGENALAN DANLATAR BELAKANG SWING ADALAH KIT JAVA KEDUA UNTUKMENDEVELOP GUI YG DIKELUARKAN OLEH SUN DIBANGUN DI ATAS AWT (ABSTRACT WINDOWINGTOOLKIT) PACKAGE (MERUPAKAN PENGEMBANGANDARI AWT) GUI DIDEVELOP MENGGUNAKAN BERBAGAICOMPONENT YANG DIORGANISASIKAN OLEHCONTAINER COMPONENT SWING BERINTERAKSI DENGAN USERMENGGUNAKAN SEBUAH MODEL EVENT LISTENERPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

WHAT IS JFC? JFC SINGKATAN DARI JAVA FOUNDATION CLASSES, YANGTERDIRI ATAS FITUR/FASILITAS UNTUK MEMBANTUMEMBUAT GUI (GRAPHICAL USER INTERFACES) DAN BISAMENERIMA INPUT USER DARI INPUT DEVICES FITUR-FITUR DALAM JFC ADALAH: KOMPONEN-KOMPONEN SWINGPLUGGABLE LOOK AND FEEL SUPPORTAPI (APPLICATION PROGRAMMER INTERFACE) YG DAPAT DIAKSESJAVA 2D APIMEN-SUPPORT DRAG AND DROPPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

JAVA FOUNDATION CLASSESAWTSwingAccessibility2D APIDrag and Drop AWT - TOOLKIT GUI YG ASLI SWING – TOOLKIT GUI YG BARU ACCESSIBILITY – TOOL UNTUKMENDEVELOP, MEMBANTU USER YGTERTANTANG DG USER INTERFACE YGTRADISIONAL 2D API – CLASS-CLASS UNTUKPENGGUNAAN YANG LEBIH KOMPLEKSDARI PAINTING, SHAPE, COLOUR, DANFONTS DRAG AND DROP – TOOL UNTUKMENGIMPLEMENTASIKAN TRANSFERINFORMATION ANTARA APLIKASI JAVADAN NATIVE APPLICATIONSPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

ABSTRACK WINDOWS TOOLKIT (AWT)KELEBIHAN : TIDAK TERGANTUNG PADA FLATFORM (FLATFORM-INDEPENDENT) DIGUNAKAN UNTUK MENYEDERHANAKAN IMPLEMENTASI USERINTERFACEKEKURANGAN: HANYA MAMPU UNTUK MENANGANI INTERFACE GRAFIS YANGSEDERHANA RAWAN DARI BUG YANG DIMILIKI PLATFORM KARENA AWT TIDAKMENGGAMBAR LANGSUNGPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

SWING PENGEMBANGAN DARI AWT DENGAN MENAMBAHKAN KOMPONENKOMPONEN DALAM SISTEM GUI, TETAPI MSH DIDASARKAN PADAARSITEKTUR AWTPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

SWING “SWING” ADALAH NAMA KODE DARI PROYEK YANG MENDEVELOPKOMPONEN BARU. BUKAN MERUPAKAN NAMA RESMI. NAMUN NAMA INI LEBIH SERING DIGUNAKAN UNTUK MENYEBUTKOMPONEN-KOMPONEN BARU YANG BERHUBUNGAN DENGAN API.PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

WHY SWING? AWT “HANYA” MENAWARKAN PEMROGRAMANGRAFIS YG TERBATAS YANG DISUPPORT DALAM JAVA1.0 SWING MENAWARKAN : KEGUNAAN-KEGUNAAN YG LEBIH BERKEMBANGKOMPONEN-KOMPONEN BARUFITUR YANG LEBIH LUASEVENT HANDLING YANG LEBIH BAIKLOOK AND FEEL YANG BISA DIPILIH (JAVA, CDE/MOTIF,ATAU WINDOWS LOOK AND FEEL)PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

SWING VS AWT1. Komponen swing secara langsung diletakkan dilayar menggunakan kode Java.Sedangkan AWT seperti java.awt.window atau java.awt.panel harus digambarmenggunakan GUI asli milik platform di mana dia dijalankan2. Penampilan program yg ditulis dg AWT akan selalu berpenampilan seperiplatformnya, sedangkan Swing penampilannya tetap sama.3. Dibanding dg AWT penggunaan komponen-komponen Swing lebih memakanresource yang lebih sedikit4. AWT memang mampu menangani interface grafis nyg sederhana, tetapi untukskala proyek AWT ketinggalan jauh.5. Perbedaan komponen AWT dan Swing adalah semua komponen Swing berawalanJPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

AWT & SWINGDI DALAM JAVA TERDAPAT 2 PAKET UNTUK MENGEMBANGKAN GUI, YAITUAWT (ABSTRACT WINDOW TOOLKIT) DAN SWING.AWT DIGUNAKAN UNT MENYEDERHANAKAN IMPLEMENTASI UISWING MERUPAKAN PENGEMBANGAN DARI AWT DENGANMENAMBAHKAN KOMPONEN GUI TETAPI MASIH BERDASARKAN ARDITEKTURAWTPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

RELASI AWT DENGAN SWINGAWT dan SWING dapat berelasi satu dengan lainnya dengan konsepinheritance, dimana AWT dan SWING ini merupakan sebuah komponenMaksudnya adalah komponen AWT dan SWING dapat digunakan dalamprogram yang samaPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

SWING COMPONENTS MERUPAKAN BAGIAN DARI JAVA FOUNDATION CLASSES (JFC),DAN DAPAT DIGUNAKAN DENGAN JDK 1.1 ATAU THE JAVA 2 PLATFORM. KOMPONEN USER INTERFACE SWING DIKATEGORIKAN SBB :

SWING COMPONENT ) KOMPONEN ADALAH “WIDGETS”DARI SWING SEBAGIAN BESAR NAMA CLASSDALAM SWING DIAWALIDENGAN “J” SELURUHNYA MERUPAKANSUBCLASS DARI JCOMPONENT,YANG MENYEDIAKAN BERBAGAIMETHOD TURUNAN CONTAINER SEPERTI JPANELJUGA MERUPAKAN SEBUAHKOMPONENPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

SWING COMPONENT SELURUH KOMPONEN DALAM SWING ADALAHSUBCLASS DARI ABSTRACT CLASS JCOMPONENT. DALAM CLASS TSB TERDPT METHOD UNTUK: MENGESET UKURAN KOMPONENMENGUBAH WARNA BACKGROUNDMEMILIH JENIS FONTSET UP TOOLTIPS (KETERANGAN YG MUNCUL BEBERAPASAAT KETIKA USER MELINTAS DI ATAS SEBUAH KOMPONEN)PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

SWING COMPONENT Component Hierarchy :Part 1—AWT SimilarPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

SWING COMPONENT Component Hierarchy :Part 2—New And ExpandedComponents

SWING x.swing.JComponentJInternalFrameJLayeredPaneJPanel KOMPONEN DAPAT DIKUMPULKANBERSAMA DALAM CONTAINER DALAM SEBUAH CONTAINER,POSISI KOMPONEN DIATUR OLEHSEBUAH LAYOUT MANAGER,MISALNYA anePT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

SWING CONTAINERS SEBELUM KOMPONEN BISA DITAMPILKAN DALAM SEBUAH USERINTERFACE, TERLEBIH DAHULU HARUS DITAMBAHKAN KE DALAMSEBUAH CONTAINER. CONTAINER ADALAH SEBUAH KOMPONEN YANG BISAMENGORGANISASIKAN BERBAGAI KOMPONEN LAINNYA. MERUPAKAN SUBCLASS DARI JAVA.AWT.CONTAINER DALAM CLASS TSB TERDPT METHOD UNTUK: MENAMBAHKAN KOMPONEN KE CONTAINERMEMBUANG KOMPONEN DARI CONTAINERMENYUSUN KOMPONEN MENGGUNAKAN LAYOUT MANAGERSET UP TOOLTIPS (KETERANGAN YANG MUNCUL BEBERAPA SAATKETIKA USER MELINTAS DI ATAS SEBUAH KOMPONEN)PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

TOP-LEVEL CONTAINERSApplet—Sudah pada ngerti kan!Dialog—window yang lebih terbatasdaripada frame.Frame—adalah sebuah windowyang memiliki berbagai dekorasiseperti border, judul, dan tomboluntuk minimize, maximize dan closewindow. Aplikasi GUI umumnyamemiliki paling tidak sebuah frame.PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CONTAINER DENGAN KEGUNAANUMUM (GENERAL-PURPOSE) ADALAH CONTAINER INTERMEDIATE YANG BISA DIGUNAKAN DALAMBERBAGAI LINGKUNGAN YANG BERBEDA : PANEL SCROLL PANE SPLIT PANE TABBED PANE TOOL BARPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CONTAINER DENGAN KEGUNAANUMUM (GENERAL-PURPOSE) PANEL—YANG PALING FLEKSIBEL DAN PALING SERING DIPAKAI.BIASA DIGUNAKAN UNTUK MENGELOMPOKKAN KOMPONENKOMPONEN. SCROLL PANE—MENYEDIAKAN SCROLL BAR DI SEKELILINGPERUBAHAN UKURAN KOMPONEN. SPLIT PANE—MENAMPILKAN DUA KOMPONEN DALAM RUANGYANG TETAP, MEMUNGKINKAN USER UNTUK MENENTUKANUKURAN RUANG YANG DIPILIH UNTUK SETIAP KOMPONEN.PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CONTAINER DENGAN KEGUNAANUMUM (GENERAL-PURPOSE) TABBED PANE—BERISI BANYAK KOMPONEN YANGNAMUN HANYA SATU YANG DITAMPILKAN PADASATU WAKTU. USER BISA BERPINDAH DENGAN CARAMEN-SWITCH BERBAGAI KOMPONEN TERSEBUT. TOOL BAR—MENGORGANISASIKAN SEKELOMPOKKOMPONEN (BIASANYA BUTTON) DALAM SEBUAHBARIS ATAU KOLOM. SECARA OPSIONALMEMBOLEHKAN USER UNTUK MELAKUKAN DRAGUNTUK MEMINDAH TOOL BAR TERSEBUT KE LOKASIYANG BERBEDAPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CONTAINERS DENGAN KEGUNAANUMUM (GENERAL-PURPOSE)PanelSplit paneScroll PaneTool barTabbed pane

CONTAINER DENGAN KEGUNAANKHUSUS (SPECIAL-PURPOSE) BERUPA CONTAINER INTERMEDIATE YANGMEMAINKAN PERAN KHUSUS DALAM USER INTERFACE. INTERNAL FRAME— MAMPU MENAMPILKAN TAMPILAN YANGMIRIP DENGAN SEBUAH FRAME SEPERTI WINDOW DI DALAMWINDOW YANG LAIN. BIASANYA, INTERNAL FRAMEDITAMBAHKAN KE DALAM SEBUAH DESKTOP PANE. LAYERED FRAME—MENYEDIAKAN TIGA LAPIS DIMENSI UNTUKMEMPOSISIKAN KOMPONEN: KEDALAMAN, JUGA DISEBUTSEBAGAI Z ORDER. ROOT PANE—MEMILIKI 4 BAGIAN : GLASS PANE, LAYERED PANE,CONTENT PANE, DAN MENU BAR (OPSIONAL).PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CONTAINER DENGAN KEGUNAANKHUSUS (SPECIAL-PURPOSE)Internal FrameLayered PaneRoot Pane

BASIC CONTROLS KOMPONEN ATOMIK YANG EKSIS, TERUTAMA UNTUK MENERIMAINPUT DARI USER; UMUMNYA JUGA MENYATAKAN STATESEDERHANA. BUTTONS—BENTUKNYA BISA KOTAK ATAU BUNDAR COMBO BOX—BAIK YANG TIDAK BISA DIEDIT ATAUPUN YANG BISA. LIST—MEMBERI USER SEKUMPULAN ITEM, DITAMPILKAN DALAM SEBUAHKOLOM UNTUK DIPILIH MENU—MERUPAKAN UPAYA UNTUK MENGHEMAT RUANG;MEMUNGKINKAN USER UNTUK MEMILIH DARI BEBERAPA PILIHAN. SLIDER—MEMUNGKINKAN USER UNTUK MEMASUKKAN SEBUAH NILAINUMERIK YANG DIBATASI OLEH NILAI MINIMUM DAN MAKSMUM. TEXT FIELDS—KONTROL TEKS DASAR YANG MEMUNGKINKAN USERMEMASUKKAN SEJUMLAH TEKS.PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

BASIC CONTROLSButtonsCombo BoxMenuSliderListText Fields

TAMPILAN INFORMASI YANG TIDAKBISA DIEDIT KOMPONEN ATOMIK YANG EKSIS DALAM RANGKAMEMBERI INFORMASI KEPADA USER. LABEL—DAPAT MENAMPILKAN TEKS DAN GAMBAR YANGTIDAK BISA DIPILIH. PROGRESS BAR—MENAMPILKAN PROGRESS DARI SEBUAHTASK YANG PANJANG (JUGA, PROGRESSMONITOR DANPROGRESSMONITORINPUTSTREAM) TOOL TIP—KETERANGAN YANG MUNCUL BEBERAPA SAATKETIKA USER MELINTAS DI ATAS SEBUAH KOMPONENPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

TAMPILAN INFORMASI YANG TIDAKBISA DIEDITProgress BarLabelTool Tips

TAMPILAN YANG BISA DIEDIT DARIINFORMASI TERFORMAT MERUPAKAN KOMPONEN ATOMIK YANG MENAMPILKANINFORMASI YANG HIGHLY FORMATTED DAN DAPAT DIEDIT OLEHUSER. COLOR CHOOSER—MENYEDIAKAN SEBUAH PALET WARNA YANGBISA DIPILIH OLEH USER. FILE CHOOSER—MENYEDIAKAN SEBUAH GUI UNTUK MENUNJUKKANFILE SYSTEM, KEMUDIAN USER BISA MEMILIH SEBUAH FILE ATAUDIRECTORY DARI LIST YANG ADA ATAU LANGSUNG MENGETIKKANNAMA FILE ATAU DIRECTORY YANG DIKEHENDAKI. TABLE—MENAMPILKAN TABEL DATA, SECARA OPSIONALMEMBOLEHKAN USER UNTUK MENGEDIT DATA TSB. TEXT—MENAMPILKAN TEKS DAN MEMBOLEHKAN USER UNTUKMENGEDITNYA TREE—MENAMPILKAN DATA DALAM BENTUK HIRARKISPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

TAMPILAN YANG BISA DIEDIT DARIINFORMASI TERFORMATFile ChooserColor ChooserTableTextTree

MENSUPPORTPLUGGABLE LOOK & FEEL MEMBERIKAN PILIHAN TAMPILAN (LOOK AND FEEL)PADA PROGRAM YANG MENGGUNAKANKOMPONEN-KOMPONEN SWING. MISALNYA,PROGRAM YANG SAMA DAPAT MENGGUNAKANBAIK JAVA LOOK-AND-FEEL MAUPUN THEWINDOWS LOOK-AND-FEEL. LEBIH BANYAK LAGI PAKET LOOK-AND-FEEL AKANTERSEDIA DI MASA YAD DARI BERBAGAI SUMBER,TERMASUK BEBERAPA YANG MENGGUNAKAN SUARALEBIH DARI SEKEDAR TAMPILAN VISUAL.PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MENSUPPORTPLUGGABLE LOOK & FEELJava Look and Feel “Metal”supported on all platformsNative Mac Look and Feel “Aqua”Implemented by Apple andsupported on Mac onlyMotif Look and Feel (Solaris & Linux)supported on all platformsNative Windows Look and Feelsupported on Microsoft Windows only

MENU HARI INI MEMBUAT APLIKASI BERBASIS GUI MENGGUNAKANKOMPONEN-KOMPONEN SWING SEBAGAI BERIKUT : FRAMECONTAINERBUTTONLABELTEXTFIELD DANTEXTAREALIST DROP-DOWNCHECK BOX DAN RADIO BUTTON MERUPAKAN KOMPONEN-KOMPONEN SWINGBAGIAN I ; BAGIAN DARI AWT SIMILAR PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MEMBUAT APLIKASI SELURUH ELEMEN DALAM SWING ADALAH BAGIAN DARIPAKET JAVAX.SWING YANG MERUPAKAN STANDAR DARILIBRARY CLASS JAVA 2 AGAR BISA MENGGUNAKAN CLASS DALAM PAKETSWING, HARUS DISERTAKAN STATEMEN UNTUK IMPORTSBB :IMPORT JAVAX.SWING.* PAKET LAIN YG DIGUNAKAN UNTUK GUI PROGRAMMINGADALAH JAVA.AWT (ABSTRACT WINDOWING TOOLKIT)DAN JAVA.AWT.EVENT (CLASS-CLASS EVENT HANDLINGUNTUK MENGHANDLE INPUT DARI USER)PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MEMBUAT INTERFACE LANGKAH PERTAMA DALAM MEMBUAT APLIKASISWING ADALAH MEMBUAT CLASS YANGMERUPAKAN REPRESENTASI GUI. OBJEK DARI CLASS INI AKAN BERTINDAK SEBAGAICONTAINER (TOP LEVEL CONTAINER) DAN MERUPAKANUSER INTERFACE UTAMA (MAIN INTERFACE), YANG BISABERUPA SALAH SATU WINDOW (CLASS JWINDOW) ATAUFRAME (CLASS JFRAME).PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MEMBUAT INTERFACE (LANJUTAN) BEBERAPA HAL BERIKUTNYA YANG HARUSDILAKUKAN DALAM BLOK CONSTRUCTOR ADALAH: MEMANGGIL METHOD CONSTRUCTOR DARISUPERCLASS UNTUK MENGHANDLE BEBERAPAPROCEDURE SETUPMENGESET UKURAN WINDOW FRAME DALAM PIXELMEMUTUSKAN ACTION YANG TERJADI BILA USERMENUTUP WINDOWMENDISPLAYKAN FRAMEPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CONTOH : SIMPLEFRAME.JAVAIMPORT JAVAX.SWING.JFRAME;PUBLIC CLASS SIMPLEFRAME EXTENDS JFRAME {PUBLIC SIMPLEFRAME(){SUPER("FRAME JFRAME.EXIT ON CLOSE);SETVISIBLE(TRUE);}PUBLIC STATIC VOID MAIN(STRING[] ARGS) {SIMPLEFRAME SF NEW SIMPLEFRAME();}}PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CLASS JFRAME() MEMILIKI 2 CONSTRUCTOR, YAITU : JFRAME() JFRAME(STRING) FRAME’S TITLE METHOD YANG ADA DALAM CLASS INI ADALAH : SETTITLE(STRING) SETSIZE(INT, INT) FRAME’S TITLE WIDTH & HEIGHT (PIXEL) DEFAULT FRAME KETIKA DIBUAT ADALAH INVISIBLE, MAKASETELAH SELESAI DISET, SELANJUTNYA FRAME DIDISPLAYKANDENGAN METHOD : SHOW()ATAU SETVISIBLE(TRUE)PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CLASS JFRAME() NORMAL BEHAVIOR DARI FRAME KETIKA DITEKAN TOMBOL CLOSEADALAH “KEEP RUNNING THE APPLICATION” UNTUK MERUBAHNYA, DIGUNAKAN METHODSETDEFAULTCLOSEOPERATION() DENGAN PILIHAN ARGUMEN DANOPERASI SBB : EXIT ON CLOSE DISPOSE ON CLOSE KELUAR DARI PROGRAM CLOSE & DISPOSE FRAME, TETAPIAPLIKASI TETAP BERJALAN DO NOTHING ON CLOSE FRAME TETAP TERBUKA & APLIKASITETAP BERJALAN HIDE ON CLOSE FRAME DITUTUP & APLIKASI TETAPBERJALAN JIKA FRAME TSB BERTINDAK SEBAGAI USER INTERFACE UTAMA, MAKAPERILAKU YANG UMUMNYA DIHARAPKAN ADALAH EXIT ON CLOSEPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CLASS JWINDOW() CARA UNTUK MEMBUAT SEBUAH WINDOW MIRIP DENGANMEMBUAT FRAME. BEDANYA, BAHWA WINDOW TIDAKMEMILIKI TITLE SERTA TOMBOL UNTUK MINIMIZE, MAXIMIZEDAN CLOSE. METHOD UNTUK MENGESET POSISI DAN UKURAN WINDOWADALAH :SETBOUNDS(INT, INT, INT, INT) DENGAN 4 ARGUMEN : POSISI (X, Y) SERTA UKURAN WINDOW LEBARX TINGGI UNTUK MENG-COVER INTERAKSI USER THD WINDOWDIBUTUHKAN CLASS-CLASS UNTUK EVENT HANDLING YANGADA PADA PAKET JAVA.AWT.EVENTPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CONTOH : SIMPLEWINDOW.JAVAIMPORT JAVAX.SWING.JWINDOW;PUBLIC CLASS SIMPLEWINDOW EXTENDS JWINDOW {PUBLIC }}PUBLIC STATIC VOID MAIN(STRING[] ARGS) {SIMPLEWINDOW SW NEW SIMPLEWINDOW();SW.SETVISIBLE(TRUE);FOR(INT I 0; I 100000; I )SYSTEM.OUT.PRINT(I " ");SW.SETVISIBLE(FALSE);SYSTEM.EXIT(0);}

MEMBUAT KOMPONEN BUTTON:CLASS JBUTTON() BUTTON DALAM SWING BISA MEMILIKI FITUR BERUPATEKS, ICON GRAFIS ATAU KOMBINASI ANTARAKEDUANYA MEMILIKI 3 CONSTRUCTOR, YAITU : JBUTTON(STRING) JBUTTON(ICON) JBUTTON(STRING, ICON) SPECIFIED TEXT SPECIFIED ICON SPECIFIED TEXT & ICON SELANJUTNYA, KOMPONEN TSB HARUS DITAMBAHKAN KESEBUAH CONTAINER SEDERHANA (MISALNYA PANEL DARI CLASSJPANEL) DENGAN MENGGUNAKAN METHODADD(COMPONENT)PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MEMBUAT KOMPONEN BUTTON:CLASS JBUTTON() SEBAGIAN BESAR CONTAINER YANG LAIN DALAM SWING(FRAME, WINDOW, APPLET, DAN DIALOG BOX) TIDAKMEMPERKENANKAN KOMPONEN DITAMBAHKAN SECARALANGSUNG PADA CONTAINER TSB. MAKA LANGKAH-LANGKAH UNTUK MENAMBAHKANKOMPONEN DALAM GUI ADALAH SBB BUAT SEBUAH PANEL TAMBAHKAN KOMPONEN KE PANEL DGN METHODADD(COMPONENT) TAMBAHKAN PANEL KE CONTAINER UTAMA DGN METHODSETCONTENTPANE(CONTAINER) DGN PANEL TSB SEBAGAIARGUMENPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CONTOH : BUTTONS.JAVAIMPORT JAVAX.SWING.*;PUBLIC CLASS BUTTONS EXTENDS JFRAME {JBUTTON ABORT NEW JBUTTON("ABORT");JBUTTON RETRY NEW JBUTTON("RETRY");JBUTTON FAIL NEW JBUTTON("FAIL");PUBLIC ULTCLOSEOPERATION(JFRAME.EXIT ON CLOSE);JPANEL PANE NEW FAIL);SETCONTENTPANE(PANE);}PUBLIC STATIC VOID MAIN(STRING[] ARGS) {BUTTONS RB NEW BUTTONS();RB.SHOW();}}PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MENAMBAHKAN KOMPONEN KESEBUAH APPLETimport javax.swing.*; CONTOH: BUTTONAPPLET.JAVApublic class ButtonApplet extends JApplet {JButton abort new JButton("Abort");JButton retry new JButton("Retry");JButton fail new JButton("Fail");public void init(){JPanel pane new fail);setContentPane(pane);}} TAG HTML UNTUK MENAMPILKAN APPLET TSB applet code "ButtonApplet.class" width "80" height "140" PT. Elektronika FT UNY /applet Muh. Izzuddin Mahali, M.Cs.

BEKERJA DENGAN KOMPONEN METHOD YANG SERING DIGUNAKAN : SVISIBLE()SETSIZE(INT, ETVALUE()GETVALUE()untuk komponen yangberbasis teksutk komponen yg menyimpansebuah nilai numerik

MEMBUAT ICON BERGAMBAR :OBJEK IMAGEICON() DENGAN IMAGEICON(), SWING JUGA MENSUPPORTPENGGUNAAN ICON GRAFIS (BIASANYA FILE GAMBAR BERFORMAT.GIF SEBAGAI PARAMETERNYA) PADA BERBAGAI KOMPONEN SEPERTIBUTTON DAN LABEL.PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CONTOH : ICONS.JAVAIMPORT JAVAX.SWING.*;PUBLIC CLASS ICONS EXTENDS JFRAME {JBUTTON[] BUTTONS NEW JBUTTON[10];PUBLIC LTCLOSEOPERATION(JFRAME.EXIT ON CLOSE);JPANEL PANE NEW JPANEL();IMAGEICON ICON NEW IMAGEICON("SO00850A.GIF");FOR(INT I 0; I 10; I ) {BUTTONS[I] NEW (PANE);PACK();//PENGGANTI SETSIZE()SHOW();}PUBLIC STATIC VOID MAIN(STRING[] ARGS) {ICONS RB NEW ICONS();}}PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MEMBUAT LABEL :CLASS JLABEL() UNTUK MEMBERI KETERANGAN TENTANG KEGUNAAN SEBUAHKOMPONEN PADA SUATU INTERFACE; TIDAK BISA DIEDIT OLEH USER. BISA BERISI INFORMASI TEKS, ICON ATAU KEDUANYA MEMILIKI 3 CONSTRUCTOR, YAITU : JLABEL(STRING) SPECIFIED TEXT JLABEL(STRING, INT) SPECIFIED TEXT & ALIGNMENT JLABEL(STRING, ICON, INT) SPECIFIED TEXT, ICON & ALIGNMENT (LEFT, RIGHT ORCENTERAS DEFAULT) METHOD UNTUK MENGESET DAN MENDAPATKAN ISI LABEL : SETTEXT(STRING) & SETICON(ICON) GETTEXT() & GETICON()PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MEMBUAT TEXT FIELD :CLASS JTEXTFIELD() ADALAH SEBUAH AREA PADA SUATU INTERFACE DI MANA USER BISAMEMASUKKAN TEKS MELALUI KEYBOARD. HANYA BISA MENERIMA SATU BARIS INPUT. MEMILIKI 3 CONSTRUCTOR, YAITU : JTEXTFIELD() JTEXTFIELD(INT) JTEXTFIELD(STRING, INT) EMPTY TEXT FIELD SPECIFIED WIDTH SPECIFIED TEXT & WIDTH TEXTFIELD DAN TEXTAREA MERUPAKAN TURUNAN DARI SUPERCLASSJTEXTCOMPONENT YANG BERSAMA-SAMA MEMILIKI BEBERAPA METHOD SBB : ING) & GETTEXT()GETSELECTEDTEXT() THE HIGHLIGHTED TEXTPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MEMBUAT PASSWORD FIELD :CLASS JPASSWORDFIELD() MERUPAKAN TURUNAN DARI CLASS JTEXTFIELD;MEMILIKI CONSTRUCTOR YANG SAMA DENGANCLASS PARENTNYA DIGUNAKAN UNTUK MENYEMBUNYIKAN DETILKARAKTER YANG DIKETIKKAN OLEH USER, SEBAGAIGANTINYA DIGANTI DENGAN KARAKTER ‘*’ (SECARADEFAULT) METHOD SETECHOCHAR(CHAR) UNTUK MERUBAHTAMPILAN KARAKTER DEFAULT DENGAN KARAKTERTERTENTU (CHAR)PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MEMBUAT TEXT AREA :CLASS JTEXTAREA() SERUPA DENGAN TEXT FIELD, DI MANA USER BISA MEMASUKKAN TEKSMELALUI KEYBOARD, NAMUN BISA MENERIMA LEBIH DARI SATU BARISINPUT. MEMILIKI 2 CONSTRUCTOR, YAITU : JTEXTAREA(INT, INT) SPECIFIED ROWS & COLUMNS JTEXTAREA(STRING, INT, INT) SPECIFIED TEXT, ROWS & COLUMNS TAMBAHAN METHOD PADA CLASS JTEXTAREA() : APPEND(STRING) AT THE END OF THE CURRENT TEXTINSERT(STRING) AT THE INDICATED AN)PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CONTOH : FORM.JAVAIMPORT JAVAX.SWING.*;PUBLIC CLASS FORM EXTENDS JFRAME {JTEXTFIELD USERNAME NEW JTEXTFIELD(15);JPASSWORDFIELD PASSWORD NEW JPASSWORDFIELD(15);JTEXTAREA COMMENTS NEW JTEXTAREA(4,15);PUBLIC FORM() {SUPER("FEEDBACK FRAME.EXIT ON CLOSE);JPANEL PANE NEW JPANEL();JLABEL USERNAMELABEL NEW JLABEL("USERNAME : ");JLABEL PASSWORDLABEL NEW JLABEL("PASSWORD : ");JLABEL COMMENTSLABEL NEW JLABEL("COMMENTS : EWORD(TRUE);//PASSWORD.SETECHOCHAR('#');PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CONTOH : FORM.JAVA (LANJUTAN)//JSCROLLPANE SCROLL NEW JSCROLLPANE(COMMENTS,SCROLLPANECONSTANTS.VERTICAL SCROLLBAR AS NEEDED,SCROLLPANECONSTANTS.HORIZONTAL SCROLLBAR L);SETCONTENTPANE(PANE);SHOW();}PUBLIC STATIC VOID MAIN(STRING[] ARGS) {FORM INPUT NEW FORM();}}PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MEMBUAT SCROLL PANE :CLASS JSCROLLPANE() BERBEDA DENGAN PAKET AWT, TEXT AREA PADA SWINGTIDAK SECARA OTOMATIS MENYERTAKAN SCROLL BAR. UNTUK ITU, SWING MEMPERKENALKAN SEBUAHCONTAINER BARU UNTUK MENG-HOLD KOMPONENYANG BISA DI-SCROLL, YAITU JSCROLLPANE(). MEMILIKI 2 CONSTRUCTOR, YAITU : JSCROLLPANE(COMPONENT) SPECIFIED COMPONENT JSCROLLPANE(COMPONENT, INT, INT) SPECIFIED COMPONENT SERTA KONFIGURASI UNTUK SCROLLBAR VERTIKAL & HORISONTALPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MEMBUAT SCROLL PANE :CLASS JSCROLLPANE() SCROLLBAR DIKONFIGURASIKAN MENGGUNAKAN CLASS VARIABELDARI INTERFACE SCROLLPANECONSTANTS SBB : VERTICAL SCROLLBAR ALWAYS VERTICAL SCROLLBAR AS NEEDED VERTICAL SCROLLBAR NEVER KONFIGURASI YANG SAMA UNTUK SCROLL BAR HORIZONTAL CONTOH : MEMBUAT SEBUAH TEXT AREA DENGAN SEBUAHJPane pane newTANPAJPanel();SCROLLBARVERTIKAL,SCROLLBAR HORISONTAL, KEMUDIANJTextArea comments new JTextArea(5,15);DITAMBAHKANKE scrollSEBUAH CONTENTPANEJScrollPanenew JScrollPane(comments,ScrollPaneConstants.VERTICAL SCROLLBAR ALWAYS,ScrollPaneConstants.HORIZONTAL SCROLLBAR NEVER);pane.add(scroll);PT. Elektronika FT UNYsetContentPane(pane);Muh. Izzuddin Mahali, M.Cs.

MEMBUAT SCROLL BAR :CLASS JSCROLLBAR() SCROLL BAR ADALAH KOMPONEN YANG MEMBOLEHKAN SEBUAH NILAI DIPILIHDENGAN CARA MENGGERAKKAN SEBUAH KOTAK DI ANTARA 2 PANAH. BEBERAPAKOMPONEN SEPERTI TEXT AREA DAN SCROLLING LIST MEMILIKI FUNGSI SCROLL BARSECARA BUILT IN. MEMILIKI 2 CONSTRUCTOR, YAITU : JSCROLLBAR(INT) SPECIFIED ORIENTATION JSCROLLBAR(INT, INT, INT, INT, INT) SPECIFIED ORIENTATION, NILAI AWAL, UKURAN SCROLL BOX (0 UTK PILIHAN UKURANDEFAULT), NILAI MINIMUM & MAKSIMUM. ORIENTASI SCROLLBAR DIINDIKASIKAN OLEH CLASS VARIABEL DARI JSCROLLBAR BERUPA: HORIZONTAL DAN VERTICAL CONTOH :JSCROLLBAR BAR NEW JSCROLLBAR(JSCROLLBAR.HORIZONTAL, 33, 0, 10,50) MEMBUAT SEBUAH SCROLL BAR HORIZONTAL DENGAN NILAI MINIMUM 10, MAKSIMUM 50DAN NILAI AWAL 33PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MEMBUAT CHECK BOX & RADIO BUTTON : CLASSJCHECKBOX()& JRADIOBUTTON() DIGUNAKAN UNTUK MENYATAKAN PILIHAN YA/TIDAK ATAU ON/OFF KEDUA KOMPONEN TSB BERBEDA HANYA DARI TAMPILANNYA KEDUANYA HANYA MEMILIKI 2 KEMUNGKINAN NILAI : TERPILIH ATAU TIDAKTERPILIH KEDUANYA JUGA BISA DIBUAT DALAM KELOMPOK SEHINGGA HANYA SALAHSATU KOMPONEN DALAM GRUP YANG BOLEH DIPILIH PADA SATU WAKTU. CHECK BOX DITANDAI DENGAN TANDA CEK JIKA TERPILIH SEDANGKAN RADIOBUTTON BERUPA SEBUAH LINGKARAN DENGAN TITIK HITAM DI DALAMNYA. KEDUANYA MEMILIKI BEBERAPA METHOD TURUNAN DI ANTARANYA SETSELECTED(BOOLEAN) ISSELECTED()PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MEMBUAT CHECK BOX & RADIO BUTTON : CLASSJCHECKBOX()& JRADIOBUTTON() MEMILIKI 6 CONSTRUCTOR, YAITU : JCHECKBOX(STRING)JCHECKBOX(STRING, BOOLEAN)JCHECKBOX(ICON)JCHECKBOX(ICON, BOOLEAN)JCHECKBOX(STRING, ICON)JCHECKBOX(STRING, ICON, BOOLEAN) CONSTRUCTOR YANG SAMA UNTUK CLASS JRADIOBUTTON() SECARA NORMAL KEDUANYA ADALAH NONEXCLUSIVE (BISA DIPILIH LEBIHDARI SATU SECARA BERSAMAAN). UNTUK MEMBUATNYA EXCLUSIVE,MAKA KOMPONEN YANG SALING BER-RELASI DIKELOMPOKKAN DALAMSEBUAH GRUP DENGAN CARA MEMBUAT SEBUAH CLASS OBJEK :BUTTONGROUP().PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CONTOH : CHOOSETEAM.JAVAIMPORT JAVAX.SWING.*;PUBLIC CLASS CHOOSETEAM EXTENDS JFRAME {JRADIOBUTTON[] TEAMS NEW JRADIOBUTTON[4];PUBLIC CHOOSETEAM() {SUPER("CHOOSE FRAME.EXIT ON CLOSE);TEAMS[0] NEW JRADIOBUTTON("COLORADO");TEAMS[1] NEW JRADIOBUTTON("DALLAS", TRUE);TEAMS[2] NEW JRADIOBUTTON("NEW JERSEY");TEAMS[3] NEW JRADIOBUTTON("PHILADELPHIA");JPANEL PANE NEW JPANEL();BUTTONGROUP GROUP NEW BUTTONGROUP();FOR(INT I 0; I TEAMS.LENGTH; I ) TPANE(PANE);SHOW();}PUBLIC STATIC VOID MAIN(STRING[] ARGS) {CHOOSETEAM CT NEW CHOOSETEAM();}}PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MEMBUAT LIST DROP-DOWN & COMBO BOX:CLASS JCOMBOBOX() KEDUA KOMPONEN TSB DIBUAT DARI CLASS JCOMBOBOX() LIST DROP-DOWN DISEBUT JUGA CHOICE-LIST ADALAH KOMPONEN YANGMEMBOLEHKAN SEBUAH NILAI DIAMBIL DARI SEBUAH LIST. LISTDIKONFIGURASIKAN AGAR TAMPIL HANYA JIKA USER MENG-KLIK KOMPONENTSB, SEHINGGA MENGHEMAT RUANG PADA GUI COMBO BOX ADALAH LIST DROP-DOWN DENGAN TAMBAHAN FITUR BERUPASEBUAH TEXT FIELD YANG DISEDIAKAN UNTUK MENERIMA RESPON DARI USER,JIKA PILIHANNYA TIDAK ADA DALAM LIST LANGKAH UNTUK MEMBUAT LIST DROP-DOWN : GUNAKAN CONSTRUCTOR JCOMBOBOX() TANPA ARGUMEN PANGGIL METHOD ADDITEM(OBJECT) UNTUK MENAMBAHKAN TIAP ITEM KE DALAMLIST JIKA METHOD SETEDITABLE() DISET DENGAN ARGUMEN TRUE, MAKA LISTDROP-DOWN BERUBAH MENJADI COMBO BOX.PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

MEMBUAT CHECK BOX & RADIO BUTTON : CLASSJCHECKBOX()& JRADIOBUTTON() MEMILIKI BEBERAPA METHOD UNTUK MENGONTROL LIST DROP-DOWN ATAU COMBOBOX, DI ANTARANYA : GETITEMAT(INT) GETITEMCOUNT() RETURN THE TEXT OF THE LIST RETURN THE NUMBER OF ITEM GETSELECTEDINDEX() RETURN THE INDEX POSITION OFTHE CURRENTLY SELECTED ITEM GETSELECTEDITEM() RETURN THE TEXT OF THE CURRENTLYSELECTED ITEM SETSELECTEDINDEX(INT) SELECT ITEM AT THE INDICATEDINDEX POSITION SETSELECTEDINDEX(OBJECT) SELECT THE SPECIFIED OBJECT SETMAXIMUMROWCOUNT(INT) SET THE NUMBER OF ROWS IN THECOMBO BOX THAT ARE DISPLAYED AT ONE TIMEPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

CONTOH : EXPIRATION.JAVAIMPORT JAVAX.SWING.*;PUBLIC CLASS EXPIRATION EXTENDS JFRAME {JCOMBOBOX MONTHBOX NEW JCOMBOBOX();JCOMBOBOX YEARBOX NEW JCOMBOBOX();PUBLIC EXPIRATION() {SUPER("EXPIRATION RAME.EXIT ON CLOSE);JPANEL PANE NEW JPANEL();JLABEL EXP NEW JLABEL("EXPIRATION DATE");PANE.ADD(EXP);FOR(INT I 1; I 13; I )MONTHBOX.ADDITEM("" I);FOR(INT I 2000; I 2010; I )YEARBOX.ADDITEM("" PANE(PANE);SHOW();}PUBLIC STATIC VOID MAIN(STRING[] ARGS) {EXPIRATION EX NEW EXPIRATION();}}PT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

SELESAIPT. Elektronika FT UNYMuh. Izzuddin Mahali, M.Cs.

java foundation classes awt - toolkit gui yg asli swing –toolkit gui yg baru accessibility –tool untuk mendevelop, membantu user yg tertantang dg user interface yg tradisional 2d api –class-class untuk penggun