Rabu, 25 April 2012

Screencast SwingMakeOver, Extreme Java GUI Programming


SwingMakeOver merupakan teknik memanipulasi tampilan User Interfaces (Java Swing). Teknik ini dilakukan dengan menggunakan penggambaran agar tampilan komponen-komponen Java Swing seperti TextField, Button dan lain-lain menjadi lebih cantik kelihatannya. Pada Video Tutorial ini saya menjelaskan cara memanipulasi tampilan dari mulai komponen sederhana seperti JButton, JTextField, sampai komponen-komponen kompleks seperti JTable, JList dan JTree. Salah satu contoh hasil dari teknik SwingMakeOver ini adalah, aplikasi yang pernah saya buat, yaitu eMovieRental,eBookLibrary dan ePhoneBook.
Swing Make OverSwing Make OverSwing Make OverSwing Make Over
Silahkan download seluruh video tutorialnya disini :
Selamat Belajar


Java Swing Make Over


SwingMakeOver merupakan teknik memanipulasi tampilan User Interfaces (Java Swing). Teknik ini dilakukan dengan menggunakan penggambaran agar tampilan komponen-komponen Java Swing seperti TextField, Button dan lain-lain menjadi lebih cantik kelihatannya.







Kelebihan Swing x
Swing x menawarkan fitur-fitur extra yang tidak ditemui swing secara siap jadi. Sebagai contoh, ada yang disebut sebagai haghlighter untuk memberi highlight (bisa berupa warna background berbeda dan sebagainya) pada sel tertentu pada JxTable, JxList, JxTree dan sebagainya. Komponen yang diawali Jx kebanyakan adalah turunan dari komponen swing standart, misalnya Jxtable adalah turunan dari JTable. Demikian juga JxComboBox adalah turunan dari JComboBox. JxComboBox sudah mendukung fitur highlight dengan adanya fungsi add highlighter(). Jika ingin menampilkan nilai dibawah 50 dengan background merah, di JxComboBox kita dapat menggunakan color Highlighter.
 
 
 
 

Kamis, 08 Maret 2012

Happy Birthday

HAPPY BIRTHDAY MY BOYF!!!! :3:3:3


Pemahaman GUI

GUI atau kepajangan dari Graphical User Interface merupakan salah satu model interaksi antara manusia dan komputer. Selain GUI, ada juga model yang lain seperti Character User Interface (CUI) yang sering kita kenal dengan command line. Dari sisi kenyamanan (attitude), kedua model ini memiliki fungsinya masing-masing. Fungsi CUI biasanya adalah administrator sistem berbasis sistem operasi LINUX. Bagi mereka, CUI dirasakan lebih nyaman dibandingkan dengan GUI, bahkan setelah GUI pada LINUX berkembang dengan pesat, mereka tetap bertahan untuk menggunakan CUI. Pengguna GUI biasanya adalah mereka yang sudah terbiasa dengan sistem operasi Windows.
Nah, GUI atau Graphical Unit Interface, merupakan perangkat pertama untuk mengendalikan fungsi-fungsi suatu software, dan membuat pengguna mudah untuk memahami bagaimana menggunakan software tersebut. Kita dapat mengasumsikan bahwa GUI merupakan sebagai bagian dari suatu software yang pertama kali ditangkap mata (secara interface). Dimana suatu software akan kelihatan bagus, jika GUI tersebut tampak menarik. Hal ini termasuk untuk GUI sistem pengenal suara,GUI ini diperlukan agar orang awam mudah dalam mempelajari dan menggunakan sistem tersebut. Untuk lebih kenal dekat dengan GUI, anda dapat perhatikan pada komputer masing-masing yang mana telah dibalut oleh GUI. Contoh saja Sistem Operasi Windows anda atau pun Linux, memiliki tampilan yang disesuaikan dengan cara penggunaan sistem. Berikut ini salah satu sreenshoot dari Sistem Operasi Windows 7 yang juga dibangun dari komponen GUI.
Interface_windows
Nah, itulah yang bisa anda pahami tentang GUI. Dimulai dari penggunaan sistem komputer, software, Navigasi, Interaksi interface masing-masing sistem, dan kenyamanan penggunaan pada komputer anda. Jadi intinya adalah GUI merupakan fasilitas komunikasi antara user (pengguna) dengan system/aplikasi pada komputer.
Fungsi GUI
Dari pemahaman tentang GUI sebelumnya, fungsi-fungsi GUI dalam dunia teknologi dan informasi saat ini sangat beragam. Berikut beberapa fungsi dari penggunaan GUI dalam dunia Iptek khususnya komputer :
(1). Pointing device dengan perangkat berupa mouse
(2). Memiliki fungsi sebagai plug and play, yang mana memudahkan user dalam menginstall dan uninstall hardware/sofware (sinkronisasi)
(3). Membuat software-software yang menuntut aplikasi dalam komputer user yang dapat digunakan untuk kegiatan user dalam proses seperti menulis text, spreadsheet. sound, graphic dan lain-lain
(4). Untuk digunakan dalam pembuatan System Operasi sebagai User friendly dan ergonomis
(5). Pembuatan website
(6). Opensource software/hardware atau pengembang aplikasi-aplikasi skala besar lainnya.
JAVA GUI
JAVA GUI sendiri secara umum sama dengan pemahaman GUI sendiri, namun disini GUI pada JAVA adalah salah satu dari fasilitas Java dalam mengembangkan suatu aplikasi dengan memberikan suatu interface yang nantinya akan disesuaikan dengan kebutuhan suatu aplikasi, baik skala kecil dan besar. Intinya, GUI pada Java adalah komponen-komponen penyempurna dalam sebuah sistem, seperti komponen navigasi, graphic, interface desktop, komponen menu, sinkronisasi antar interface dan semuanya itu dirancang dengan penelitian yang baik, dimana nantinya aplikasi tersebut dapat dengan mudah dioperasikan user. Banyak sudah aplikasi yang telah Java kembangankan dengan menggunakan GUI sebagai nilai penggunaan dan nilai jual. Software perangkat lunak dan keras juga termasuk di dalamnya. Java GUI adalah program pengembangan suatu user interface dengan mengetengahkan graphic sebagai penghubung user dengan sistem, sehingga mudah dalam implementasi aplikasi sistem tersebut.
Kesimpulan
Jadi GUI sangat jelas kaitanya dengan kegiatan penggunaan suatu aplikasi dalam komputer yang sering digunakan. Dalam hal ini, GUI mempermudah user dalam penggunaannya, dengan tampilan yang friendly seta ergonomis, user dengan mudah dapat menyesuaikan aplikasi-aplikasi karena GUI membantu didalam interface yang dapat dipahami penggunaannya. Sehingga antara user dan sistem, tidak terjadi misscommuncation dalam menerapkan sistem komputerisasi.
Refrensi
Semoga artikel ini dapat membantu sahabat-sahabat programmer dalam menciptakan sebuah aplikasi yang berbasis GUI. Semoga Sukses Selalu!

ASPEK GUI PADA JAVA

Pada zaman sekarang ini. Teknik pemerograman berbasis GUI menjadi kebutuhan pokok dalam dunia teknologi informasi, tuntutan kebutuhan akan aplikasi yang mudah, memudahkan, cepat dalam pembuatannya serta menarik untuk di pandang mata, hal inilah yang membuat GUI menjadi kebutuhan pokok. Dalam duni teknologi informasi.

Pengenalan GUI (Graphical User Interface)

Sebelum kita mengenal GUI dalam pemrograman java, Java menyediakan pembuatan program berupa console based di mana iteraksi denga user selalu melalui command prompt dan menggunakan teks. Pada kenyataan sebenarnya, jika kita ingin gunakan graphical user interface (GUI) dapat dikatakan keharusan. User pada umumnya lebih senang berinteraksi dengan GUI dibandingkan dengan sekumpulan teks karena dengan GUI, program akan terlihat lebih menarik dan lebih terkesan user friendly.


Perlu di ingat Java telah mendesain sedemikian rupa komponen GUI sehingga umumnya cara penggunaan tidak jauh berbeda satu sama lain. Kita hanya perlu sedikit bereksperimen untuk mengetahui cara penggunaannya

Komponen GUI yang pertama kali di perkenalkan oleh java yaitu AWT (Abstract Eindow Toolkit). Komponen ini merupakan komponen yang di perkenalkan oleh java sebelum SWING tetapai dalam pembuatan GUI, library AWT juga memiliki peran yang penting dalam pembuatan GUI sebelum SWING. Namaun Setelah SWING di perkenalkan java merekomendasikan pembuatan GUI menggunakan SWING. Akan tetapi kita masih memerlukan AWT di karenakan sebagian besar komponen Swing sendiri merupakan turunan dari komponen AWT sehingga ada beberapa class dari komponen AWT yang bukan merupakan komponen GUI yang harus digunakan bersamaan dengan komponen SWING.

Swing merupakan sekumpulan fature yang di buat untuk memudahkan programmer dalam membuat GUI di mana Swing merupakan bagian dari JFC(Java Foundation Class)


Sumber :

http://ikc.vip.net.id/berseri/ginanjar-java/index.php
http://www.informatika.lipi.go.id/publikasi/desain-model-gui-pada-sistem-pengenal-suara.html
Pemrograman berbasis objek dengan bahasa java, Indra Jani S, Kom, MM. martin S. Kom. Penerbit PT. Elex Media Komputindo
Belajar Otodidak Java dengan Netbeands 6.0, Hendry, ST. Penerbit PT. Elex Media Komputindo

GUI JavaGNOME Pada Java

Kalau QtJambi diatas ditujukan untuk teman-teman yang sudah akrab dengan API (Application Programming Interface) Qt Framework, berbeda dengan JavaGNOME  Proyek ini lebih dikhususkan untuk teman-teman pecinta GTK atau yang paling banyak dikenal yaitu GNOME  Sama seperti GUI Toolkit SWT dan QTJambi, JavaGNOME ini juga mengakses native library tetapi API yang digunakan adalah API dari GTK. Untuk teman-teman yang sudah terbiasa membangun aplikasi menggunakan Glade, maka teman-teman bisa men-design form-nya menggunakan Glade dan memanggil-nya menggunakan bahasa java melalui JavaGNOME  Nah ingin tahu tampilan aplikasi yang dibangun menggunakan JavaGNOME ? Jika ya, silahkan cek screenshot dibawah ini : 



                                     Contoh Menu JavaGNOME                                                    

  Nah jika teman-teman ingin coba-coba membangun aplikasi menggunakan JavaGNOME, maka teman-teman harus menambahkan 1 buah library yaitu gtk-4.0.jar pada project yang akan teman-teman buat dan 1 tambahkan file libgtkjni-4.0.13.so pada direktori /usr/lib/jni di sistem teman-teman maupun pada sistem target. Dan yang perlu teman-teman ingat yaitu “PASTIKAN KEBUTUHAN SELURUH DEPENDENCIES BESERTA NOMOR VERSI LIBRARY YANG DIBUTUHKAN ITU SAMA”jika tidak bisa dipastikan ada saja masalah-nya Nah kalau teman-teman ingin tahu bagaimana source code dari tampilan menu diatas, sekarang mari kita lihat kode dibawah ini 


/*
 * java-gnome, a UI library for writing GTK and GNOME programs from Java!
 *
 * Copyright © 2007      Vreixo Formoso
 * Copyright © 2007-2010 Operational Dynamics Consulting, Pty Ltd
 *
 * The code in this file, and the program it is a part of, is made available
 * to you by its authors as open source software: you can redistribute it
 * and/or modify it under the terms of the GNU General Public License version
 * 2 ("GPL") as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GPL for more details.
 *
 * You should have received a copy of the GPL along with this program. If not,
 * see http://www.gnu.org/licenses/. The authors of this program may be
 * contacted through http://java-gnome.sourceforge.net/.
 */
package javagnomeapplication;

import org.gnome.gdk.Event;
import org.gnome.gtk.CheckMenuItem;
import org.gnome.gtk.Gtk;
import org.gnome.gtk.ImageMenuItem;
import org.gnome.gtk.Label;
import org.gnome.gtk.Menu;
import org.gnome.gtk.MenuBar;
import org.gnome.gtk.MenuItem;
import org.gnome.gtk.SeparatorMenuItem;
import org.gnome.gtk.Stock;
import org.gnome.gtk.VBox;
import org.gnome.gtk.Widget;
import org.gnome.gtk.Window;

/**
 * How to use {@link Menu} and related Widgets.
 *
 * @author Vreixo Formoso
 * @author Andrew Cowie
 */
public class ExampleSimpleMenu {

    public ExampleSimpleMenu() {
        final Window w;
        final VBox x;
        final Label l;
        final Menu fileMenu, editMenu, viewMenu;
        final MenuItem fileNew, fileMenuItem, editMenuItem, viewMenuItem;
        final MenuBar menuBar;

        /*
         * Begin with the standard VBox in a Window setup:
         */

        w = new Window();
        w.setTitle("JavaGNOME Example - ");
        x = new VBox(false3);
        w.add(x);

        l = new Label("Select an action in a menu");
        l.setWidthChars(30);
        l.setAlignment(0.0f, 0.5f);

        /*
         * Most applications will use several Menus in a MenuBar:
         */
        fileMenu = new Menu();
        editMenu = new Menu();
        viewMenu = new Menu();

        /*
         * Now you can add MenuItems to the "file" Menu.
         */
        fileNew = new MenuItem("_New");
        fileMenu.append(fileNew);

        /*
         * Usually you will want to connect to the MenuItem.Activate signal,
         * that is emitted when the user "activates" the menu by either
         * clicking it with the mouse or navigating to it with the keyboard
         * and pressing .
         */
        fileNew.connect(new MenuItem.Activate() {

            public void onActivate(MenuItem source) {
                l.setLabel("You have selected File->New menu.");
            }
        });

        /*
         * Given that in most cases you will connect to the MenuItem.Activate
         * signal on MenuItems, a convenience constructor is provided:
         */
        fileMenu.append(new MenuItem("_Save"new MenuItem.Activate() {

            public void onActivate(MenuItem source) {
                l.setLabel("You have selected File->Save.");
            }
        }));

        /*
         * A SeparatorMenuItem can be used to differentiate between unrelated
         * menu options; in practise, though, only use sparingly.
         */
        fileMenu.append(new SeparatorMenuItem());

        fileMenu.append(new ImageMenuItem(Stock.CLOSEnew MenuItem.Activate() {

            public void onActivate(MenuItem source) {
                l.setLabel("You have selected File->Close.");
            }
        }));
        fileMenu.append(new MenuItem("_Quit"new MenuItem.Activate() {

            public void onActivate(MenuItem source) {
                Gtk.mainQuit();
            }
        }));

        /*
         * And now add the items making up the "edit" Menu.
         */
        editMenu.append(new MenuItem("_Copy"new MenuItem.Activate() {

            public void onActivate(MenuItem source) {
                l.setLabel("You have selected Edit->Copy.");
            }
        }));
        editMenu.append(new MenuItem("_Paste"new MenuItem.Activate() {

            public void onActivate(MenuItem source) {
                l.setLabel("You have selected Edit->Paste.");
            }
        }));

        /*
         * CheckMenuItems hold a boolean state. One use is to allow users to
         * hide some parts of the GUI, as in this example which we put into
         * the "view" Menu:
         */
        viewMenu.append(new CheckMenuItem("Hide _text"new CheckMenuItem.Toggled() {

            public void onToggled(CheckMenuItem source) {
                if (source.getActive()) {
                    l.hide();
                } else {
                    l.show();
                }
            }
        }));

        /*
         * A MenuItem can have a "sub-menu", that will be expanded when the
         * user puts the mouse pointer over it. This is also used in creating
         * the elements for the top level MenuBar, but you can use it within
         * normal Menus as well. That said, submenus of Menus are considered
         * less "discoverable" because the user has to navigate through the
         * hierarchy to find out what options are available to them, rather
         * than seeing them at first glance.
         */
        fileMenuItem = new MenuItem("_File");
        fileMenuItem.setSubmenu(fileMenu);
        editMenuItem = new MenuItem("_Edit");
        editMenuItem.setSubmenu(editMenu);
        viewMenuItem = new MenuItem("_View");
        viewMenuItem.setSubmenu(viewMenu);

        /*
         * Finally, most applications make use of a MenuBar that is by
         * convention located at the top of the application Window. It
         * contains the top-level MenuItems.
         */
        menuBar = new MenuBar();
        menuBar.append(fileMenuItem);
        menuBar.append(editMenuItem);
        menuBar.append(viewMenuItem);

        /*
         * Finally, pack the Widgets into the VBox, and present:
         */
        x.packStart(menuBar, falsefalse0);
        x.packStart(l, falsefalse0);

        w.showAll();

        /*
         * And that's it! One last piece of house keeping, though: it is
         * always necessary to deal with the user closing (what is in this
         * case) the last Window in the application; otherwise the Java VM
         * will keep running even after the (sole) Window is closed - because
         * the main loop never returned.
         */
        w.connect(new Window.DeleteEvent() {

            public boolean onDeleteEvent(Widget source, Event event) {
                Gtk.mainQuit();
                return false;
            }
        });
    }

    public static void main(String[] args) {
        Gtk.init(args);

        new ExampleSimpleMenu();

        /*
         * Yes, you could have written all the Window creation code here in
         * main() but it is generally good practise to put that setup into a
         * constructor, as we have here.
         */

        Gtk.main();
    }
                                                                                           sumber: http://dediknurdiantoro.blogspot.com