Java
Dibawah ini adalah dokumentasi pemrograman Java yang telah saya lakukan.
1. Memprogram WEB dengan Framework GWT-EXT di Netbeans 6.1
Saya menggunakan Ubuntu 8.10,
Sedikit informasi, bahwa GWT-EXT ini adalah generasi Web 2.0 yang bekerja secara AJAX. Sehingga memungkinkan untuk membangun web dengan sangat interaktif dan real-time based. bisa lihat demo lebih jelasnya disini.
Anda dapat melihat betapa indahnya web ini,seolah-olah kita mempunyai desktop komputer (operating sistem windows) pribadi di dalam web. Hahahaha….
untuk membangunnya yang diperluin itu antara lain :
- Netbeans IDE 6.1 download
- GWT core plugin for Netbeans3 download
- Library gwt (gwt-linux-xx.xx.x.tar.gz) download
- Library gwt-ext download
- Library EXT.js download
Asumsi di komputer anda telah ter-install Netbeans 6.1.
Saya akan mulai menjelaskan dari meng-insatall GWT4NB.
- bila anda terhubung ke internet anda bisa langsung download pluginnya melalui Tools–>Plugins
- bila tidak terhubung maka setelah anda download pluginnya,masuk ke tab Downloaded masih di Tools–>Plugins
Menginstall Library gwt
Untuk membuat program web berbasis GWT maka anda melewati 4 step:New Project–>web application (jgn lupa meng-unchek set as main project)–>pada pilihan server gunakan Glassfish dan pilih Java EE version yang 1.4 (karena gwt tidak support untuk java ee 1.5)–>pada step frameworks,pilih Google Web Toolkit dan akan membawa anda untuk mencari installation folder gwt (arahkan ke file gwt-linux-xx.xx.x yang telah di ekstrak tentunya),gwt module isikan sesuai keinginan anda. sampai disini anda sudah bisa me-run project contoh yaitu Hello World.
Menginstall Gwt-ext
masuk ke tree library–> klik kanan library pilih add Jar–> arahkan ke folder gwt-ext…x.x.x yang berformat .jar
Menginstall Library ext.js
buat direktori di bawah NetbeansProject/src/web yaitu js..dan buat juga di bawah direktori js yaitu ext
copy isi dari ext-x.x.x.zip yang uda di download dan di extract ke folder NetbeansProject/src/web/js/ext
Content dari ext-x.x.x.zip yang di copy-kan itu adalah
- ext-all
- ext-all-debug
- ext-core
- ext-core-debug
- adapter-folder
- resources-folder
kemudian buka tree web_pages pada file welcomeGWT.html di dalam tag <head></head>, sisipkan:
<link rel=”stylesheet” type=”text/css” href=”js/ext/resources/css/ext-all.css” />
<script type=”text/javascript” src=”js/ext/adapter/ext/ext-base.js”></script>
<script type=”text/javascript” src=”js/ext/ext-all.js”></script>
Setelah itu coba buat project WebApplication dengan GWT-EXT,berikut contoh program yang saya buat dalam MainEntryPoint.java (ini adalah bentuk aplikasi form sederhana menggunakan GWT-EXT,yang sangat ciamik ini)
/*
* MainEntryPoint.java
*
* Created on October 16, 2008, 6:58 PM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/package org.thariq.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.core.Position;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.TabPanel;
import com.gwtext.client.widgets.form.FormPanel;
import com.gwtext.client.widgets.form.HtmlEditor;
import com.gwtext.client.widgets.form.TextField;
import com.gwtext.client.widgets.layout.*;
import java.util.Iterator;/**
*
* @author thariq
*/
public class MainEntryPoint implements EntryPoint {/** Creates a new instance of MainEntryPoint */
public MainEntryPoint() {
}/**
The entry point method, called automatically by loading a module
that declares an implementing class as an entry-point
*/
public void onModuleLoad() {
Panel panel = new Panel() {public boolean remove(Widget arg0) {
throw new UnsupportedOperationException(“Not supported yet.”);
}public Iterator iterator() {
throw new UnsupportedOperationException(“Not supported yet.”);
}
};
panel.setBorder(false);
panel.setPaddings(15);FormPanel formPanel = new FormPanel();
formPanel.setLabelAlign(Position.TOP);
formPanel.setTitle(“Inner Tabs”);
formPanel.setPaddings(5);
formPanel.setWidth(600);Panel topPanel = new Panel();
topPanel.setLayout(new ColumnLayout());
topPanel.setBorder(false);Panel firstColumn = new Panel();
firstColumn.setLayout(new FormLayout());
firstColumn.setBorder(false);firstColumn.add(new TextField(“First Name”, “first”), new AnchorLayoutData(“95%”));
firstColumn.add(new TextField(“Company”, “company”), new AnchorLayoutData(“95%”));
topPanel.add(firstColumn, new ColumnLayoutData(0.5));Panel secondColumn = new Panel();
secondColumn.setLayout(new FormLayout());
secondColumn.setBorder(false);secondColumn.add(new TextField(“Last Name”, “last”), new AnchorLayoutData(“95%”));
secondColumn.add(new TextField(“Email”, “email”), new AnchorLayoutData(“95%”));
topPanel.add(secondColumn, new ColumnLayoutData(0.5));formPanel.add(topPanel);
TabPanel tabPanel = new TabPanel();
tabPanel.setPlain(true);
tabPanel.setActiveTab(0);
tabPanel.setHeight(235);Panel firstTab = new Panel();
firstTab.setTitle(“Personal Details”);
firstTab.setLayout(new FormLayout());
firstTab.setPaddings(10);firstTab.add(new TextField(“First Name”, “first”, 230, “James”));
firstTab.add(new TextField(“Last Name”, “last”, 230));
firstTab.add(new TextField(“Company”, “company”, 230));
firstTab.add(new TextField(“Email”, “email”, 230));
tabPanel.add(firstTab);Panel secondTab = new Panel();
secondTab.setTitle(“Phone Numbers”);
secondTab.setLayout(new FormLayout());
secondTab.setPaddings(10);secondTab.add(new TextField(“Home”, “home”, 230, “(888) 555-2222″));
secondTab.add(new TextField(“Business”, “business”, 230));
secondTab.add(new TextField(“Mobile”, “mobile”, 230));
secondTab.add(new TextField(“Fax”, “fax”, 230));
tabPanel.add(secondTab);Panel thirdPanel = new Panel();
thirdPanel.setTitle(“Biography”);
thirdPanel.setLayout(new FitLayout());
thirdPanel.add(new HtmlEditor(“Biography”));
tabPanel.add(thirdPanel);formPanel.add(tabPanel);
formPanel.addButton(new Button(“Save”));
formPanel.addButton(new Button(“Cancel”));panel.add(formPanel);
RootPanel.get().add(panel);
}}
Berikut adalah hasil akhir yang di dapat:
Informasi berharga ini didapat dari Mr.Ismakun
Selain itu project ini juga cukup berguna.
Saya akan terus meng-update perkembangan ini…saya berusaha mengembangkannya ke arah pemrograman Database CRUD..sehingga bisa memproses database secara asynchronous dengan skala besar!GANBATTE…



No comments yet
Jump to comment form | comment rss [?] | trackback uri [?]