skip to main | skip to sidebar

SheLLa's EntRy....

Hi,, Guys... I hope my blog can give u some information to u :)

  • Entries (RSS)
  • Comments (RSS)
  • Home
  • About Us
  • Archives
  • Contact Us
Get Gifs at CodemySpace.com

Kim Sang Bum

Kim Sang Bum

Senin, 12 Maret 2012

GUI Java Awt,Swt, dan Swing (Part3)

Posted by Marshella Widiana at 07.33
Akhirnya kita, sampai pada pembahasan terakhir. Yaitu SWT(Standart Widget Tookit) adalah sebuah GUI Toolkit yang dikeluaran oleh IBM sebagai alternatif dari AWT/Java Swing milik SUN Microsystem, yang membedakan antara SWT (Standart Widget Toolkit) dan AWT/Java Swing adalah SWT ini benar-benar mengakses native GUI library yang terdapat pada Sistem Operasi melalui JNI (Java Native Interface). Dengan model seperti ini, memungkinkan tampilan aplikasi yang dibangun menggunakan GUI Toolkit SWT menjadi sama persis dengan aplikasi native lain-nya. Kekurangan dari model pemanggilan native GUI library seperti ini adalah kita harus menyediakan library untuk tiap-tiap Sistem Operasi target aplikasi kita.
Berikut syntaxnnya dari tampilan program diatas

/** This source code taken from :
 * http://www.eclipse.org/articles/article.php?file=Article-Understanding-Layouts/index.html
 *
 * @author Martinus Ady H <mrt.itnewbies@gmail.com>
 */
public class Main {

    Text dogName;
    Combo dogBreed;
    Canvas dogPhoto;
    Image dogImage;
    List categories;
    Text ownerName;
    Text ownerPhone;

    public static void main(String[] args) {
        Display display = new Display();
        Shell shell = new Main().createShell(display);
        shell.open();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) {
                display.sleep();
            }
        }
    }

    public Shell createShell(final Display display) {
        final Shell shell = new Shell(display);
        shell.setText("SWT Form Example");
        GridLayout gridLayout = new GridLayout();
        gridLayout.numColumns = 3;
        shell.setLayout(gridLayout);

        new Label(shell, SWT.NONE).setText("Dog's Name:");

        dogName = new Text(shell, SWT.SINGLE | SWT.BORDER);
        GridData gridData = new GridData(GridData.FILL, GridData.CENTER, true, false);
        gridData.horizontalSpan = 2;
        dogName.setLayoutData(gridData);

        new Label(shell, SWT.NONE).setText("Breed:");

        dogBreed = new Combo(shell, SWT.NONE);
        dogBreed.setItems(new String[]{"Collie", "Pitbull", "Poodle",
                    "Scottie", "Black Lab"});
        dogBreed.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));

        Label label = new Label(shell, SWT.NONE);
        label.setText("Categories");
        label.setLayoutData(new GridData(GridData.CENTER, GridData.CENTER, true, false));

        new Label(shell, SWT.NONE).setText("Photo:");
        dogPhoto = new Canvas(shell, SWT.BORDER);
        gridData = new GridData(GridData.FILL, GridData.FILL, true, true);
        gridData.widthHint = 80;
        gridData.heightHint = 80;
        gridData.verticalSpan = 3;
        dogPhoto.setLayoutData(gridData);
        dogPhoto.addPaintListener(new PaintListener() {
            public void paintControl(final PaintEvent event) {
                if (dogImage != null) {
                    event.gc.drawImage(dogImage, 0, 0);
                }
            }
        });

        categories = new List(shell, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
        categories.setItems(new String[]{"Best of Breed", "Prettiest Female",
                    "Handsomest Male", "Best Dressed", "Fluffiest Ears",
                    "Most Colors", "Best Performer", "Loudest Bark",
                    "Best Behaved", "Prettiest Eyes", "Most Hair", "Longest Tail",
                    "Cutest Trick"});
        gridData = new GridData(GridData.FILL, GridData.FILL, true, true);
        gridData.verticalSpan = 4;
        int listHeight = categories.getItemHeight() * 12;
        Rectangle trim = categories.computeTrim(0, 0, 0, listHeight);
        gridData.heightHint = trim.height;
        categories.setLayoutData(gridData);

        Button browse = new Button(shell, SWT.PUSH);
        browse.setText("Browse...");
        gridData = new GridData(GridData.FILL, GridData.CENTER, true, false);
        gridData.horizontalIndent = 5;
        browse.setLayoutData(gridData);
        browse.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                String fileName = new FileDialog(shell).open();
                if (fileName != null) {
                    dogImage = new Image(display, fileName);
                }
            }
        });

        Button delete = new Button(shell, SWT.PUSH);
        delete.setText("Delete");
        gridData = new GridData(GridData.FILL, GridData.BEGINNING, true, false);
        gridData.horizontalIndent = 5;
        delete.setLayoutData(gridData);
        delete.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                if (dogImage != null) {
                    dogImage.dispose();
                    dogImage = null;
                    dogPhoto.redraw();
                }
            }
        });

        Group ownerInfo = new Group(shell, SWT.NONE);
        ownerInfo.setText("Owner Info");
        gridLayout = new GridLayout();
        gridLayout.numColumns = 2;
        ownerInfo.setLayout(gridLayout);
        gridData = new GridData(GridData.FILL, GridData.CENTER, true, false);
        gridData.horizontalSpan = 2;
        ownerInfo.setLayoutData(gridData);

        new Label(ownerInfo, SWT.NONE).setText("Name:");
        ownerName = new Text(ownerInfo, SWT.SINGLE | SWT.BORDER);
        ownerName.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));

        new Label(ownerInfo, SWT.NONE).setText("Phone:");
        ownerPhone = new Text(ownerInfo, SWT.SINGLE | SWT.BORDER);
        ownerPhone.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));

        Button enter = new Button(shell, SWT.PUSH);
        enter.setText("Enter");
        gridData = new GridData(GridData.END, GridData.CENTER, false, false);
        gridData.horizontalSpan = 3;
        enter.setLayoutData(gridData);
        enter.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent event) {
                System.out.println("\nDog Name: " + dogName.getText());
                System.out.println("Dog Breed: " + dogBreed.getText());
                System.out.println("Owner Name: " + ownerName.getText());
                System.out.println("Owner Phone: " + ownerPhone.getText());
                System.out.println("Categories:");
                String cats[] = categories.getSelection();
                for (int i = 0; i > cats.length; i++) {
                    System.out.println("\t" + cats[i]);
                }
            }
        });

        shell.addDisposeListener(new DisposeListener() {
            public void widgetDisposed(DisposeEvent arg0) {
                if (dogImage != null) {
                    dogImage.dispose();
                    dogImage = null;
                }
            }
        });

        shell.pack();

        return shell;
    }
}
Sekian penjelasan dan contoh syntaxnya. Silakan mencoba dan bermanfaat bagi teman-teman semuanya :)

Kirimkan Ini lewat Email BlogThis! Bagikan ke X Berbagi ke Facebook

0 comments:

Posting Komentar

Posting Lebih Baru Posting Lama Beranda
Langganan: Posting Komentar (Atom)
  • Twitter Follow me on Twitter!
  • Rss Subscribe to my Rss feeds!
  • Email updates Feed via e-mail

Sponsored

  • banners
  • banners
  • banners
  • banners

Translate

English French German Spain Italian Dutch

Russian Portuguese Japanese Korean Arabic Chinese Simplified

My TiMeZzz...

About Me

Marshella Widiana
aKu itu maNis,, baik hati,, daN tidak somBong, suKA meNabung, suKA MeNoLong sesama,, I have big dream.. and i hope one day it can be true. I wanna be a sucess person and wanna make people around me aproud of me especially my parents and my family :D
Lihat profil lengkapku

BigBaNK

BigBaNK

Utada Hikaru ~ First Love

videokeman mp3
First Love (Japanese Version) – Utada Hikaru Song Lyrics

Pages

  • Beranda

Labels

  • Attitude Moklet (3)
  • Java Moklet (8)
  • Korea (1)
  • Motivasi (1)
  • Pribadi (1)

Followers

Blog RoLL

  • Antommy's Blog
    Tips Cara Belajar Yang Baik Benar Agar Pandai Dan Pintar
    13 tahun yang lalu
  • Apapun Boleh ƪ(ˇ▼ˇ)┐ ƪ(ˇ▼ˇ)ʃ ┌(ˇ▼ˇ)ʃ
    Aston International Web Design Revamp
    10 tahun yang lalu
  • Atomic Genesses | Disinilah Java Moklet Bermula….
    Silent Hill: Book of Memories – PS Vita
    13 tahun yang lalu
  • Bai Jie Chun
    INSTALASI JDK
    13 tahun yang lalu
  • For You
  • From Zero To Hero ..
    Guest Book / Buku Tamu
    12 tahun yang lalu
  • Hita_@rema Sejati
    Pengenalan JAVA
    13 tahun yang lalu
  • J.A.K.E.T (Java On Moklet)
    Iki Carane Nggawe Enkripsi Nang Java
    13 tahun yang lalu
  • J.A.M.B.R.E.T ( JAva MBah moklET)
    Organisasi - Organisasi Tertutup di Dunia
    12 tahun yang lalu
  • Java Student Archive's
  • KprimaDina
    GUI Java (AWT, SWT dan Swing)
    13 tahun yang lalu
  • life is too important to be taken seriously!
    Security
    9 tahun yang lalu
  • MOKLET BEST INFORMATION
    Inovasi, Tombak kemenangan bisnis anda.
    11 tahun yang lalu
  • My Blogger
    Cara Instalasi Java
    13 tahun yang lalu
  • Onteer Eno WiLLy
    Project PBO
    13 tahun yang lalu
  • rizthaamae
    Happy Birthday My Beloved mom !! We love you :*
    12 tahun yang lalu
  • sahabat ruchiiy
    SooYoung :DD
    13 tahun yang lalu
Diberdayakan oleh Blogger.
 

© 2010 My Web Blog
designed by DT Website Templates | Bloggerized by Agus Ramadhani | Zoomtemplate.com