Selasa, 13 Maret 2012

AWT dan Swing

Perbedaan antara AWT dan Swing

AWT dan Swing menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi Java dan applet. 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.  Namun pada dasarnya, kompondn AWT dapat digunakan bersama dengan komponen Swing.

 Perbedaan antara Kontainer dan Komponen Swing

 1. Kontainer  

Kontainer merupakan komponen yang dapat berisi komponen lain. Kontainer juga merupakan turunan dari java.awt.Container. Kontainer menggunakan Layout Manager to dan memposisikan dan mengatur ukuran komponen di dalamnya. Contoh: Label di dalam Window.

 2. Komponen Swing   

Swing menyediakan banyak komponen standar.  Komponen ini dibangun dengan konsep MVC. Swing menyediakan Container yang bisa menerima komponen di dalamnya.



 Desain aplikasi GUI menggunakan AWT

Salah satu contoh source code dari penggunanaan AWT dalam menampilkan Panel : 
 
import java.awt.Frame;
public class GraphicPanel extends Panel {
    public GraphicPanel() {
          setBackground(Color.black);
    }
    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[]) {
    GraphicPanel gp = new GraphicPanel();
    f.add(gp);
    f.setSize(600, 300);
    f.setVisible(true);
    }  
}
 
        Tanpa men-drag object panel pada library , kita dapat menambahkannya di program kita dengan code di atas. Tapi ya lumayan mikir sih ^^ , soalnya kalau saya pilih cara yang lebih efisien.



Desain aplikasi GUI menggunakan Swing

Salah satu contoh source code dari penggunaan Swing dalam menampilkan JOptionPane :

import javax.swing.*;
import java.awt.*;
public class JOptionPaneDemo {
    JOptionPane optionPane;
    public JOptionPaneDemo() {
     }
       void launchFrame() {
        optionPane = new JOptionPane();
        String name = optionPane.showInputDialog("Hi, what's yourname?");
        optionPane.showMessageDialog(null,"Nice to meet you, " + name + ".", "Greeting...",optionPane.PLAIN_MESSAGE);
        System.exit(0); }



 What’re flow layout, border layout, dan grid layout ?



 Aplikasi GUI lainnya

 
1. SWT (The Standard Widget Toolkit)

        SWT adalah komponen perangkat lunak yang memberikan fungsi widget asli untuk platform Eclipse dengan cara sistem operasi independen. Hal ini sejalan dengan AWT / Swing di Java dengan perbedaan : SWT menggunakan . Bahkan dalam situasi yang ideal, library ber-platform sangat sulit untuk writer dan reader. Hal ini karena kompleksitas yang melekat pada sistem widget dan banyak perbedaan halus antara platform. Ada beberapa pendekatan dasar yang telah membantu secara signifikan untuk mengurangi kompleksitas masalah dan memberikan library berkualitas tinggi.


2. QT ( )
 
 Teknologi terbaru di Java                                         &nbrp;                          


Struts 2.1 Java Framework Terbaru Dirilis

                Struts merupakan salah satu Java MVC web framework terpopuler yang menginspirasi banyak framework lain. Struts 2 merupakan penggabungan dari Struts dengan Webwork 2 sehingga menghasilkan framework yang lebih mudah digunakan dan lebih mencapai tujuan dari Struts dibuat.
 Rilis ini merupakan versi upgrade yang signifikan dan dirilis plugin baru untuk konfigurasi tanpa XML yang dinamakan Convention Plugin, selain itu juga terdapat plugin REST dan Javatemplates.
Fungsi Ajax dijadikan sebagai plugin sehingga Struts lebih mudah dimaintain. dan banyak bug yang diperbaiki untuk rilis ini.
Rilis 2.1.x memerlukan:
- Servlet API 2.4
- JSP API 2.0
- Java 5

Tidak ada komentar:

Posting Komentar