NetBeans IDE 6.5 Now Available!

This is original message from nbannounce@netbeans.org:

NetBeans™ IDE 6.5 offers simplified and rapid development of web, enterprise, desktop, and mobile applications with PHP, JavaScript, Java, C/C++, Ruby, and Groovy.

New features include a robust IDE for PHP, JavaScript debugging for Firefox and IE, and support for Groovy and Grails. NetBeans IDE 6.5 also delivers a number of enhancements for Java, Ruby on Rails, and C/C++ development. Java highlights include: built-in support for Hibernate, Eclipse project import, and compile on save.

Combining excellent out of the box experience, compelling features, and a great plugin ecosystem, NetBeans IDE 6.5 is a must-download for all developers.

More information about NetBeans IDE 6.5:

NetBeans IDE 6.5 Features

NetBeans IDE 6.5 Tutorials and documentation

Guided Video Tour of NetBeans IDE 6.5

one feature that I am waiting for the Netbeans for PHP: refactoring, but not yet :(.
But you must try Matisse.

Agus Suhartono

Membuat Live Help dengan Netbeans Platform

Saya sedang mendapat pesanan program untuk menghitung “Perkerasan Lentur Jalan Raya”. Saya memutuskan untuk menggunakan Netbeans Platform. Dan ini merupakan proyek pertama saya yang menggunakan netbeans platform.

Teman saya, Alfa Narendra, yang menjadi konsultan saya, meminta untuk dibuatkan sebuah LiveHelp (saya menyebutnya begitu) di sebelah kanan formulir isian. Fungsinya setiap sebuah field di form isian fokus, maka di “LiveHelp” muncul teks yang menjelaskan apa yang harus diisi di field yang fokus tersebut.

Diam, saya berfikir sejenak. Nah akhirnya saya memutuskan untuk menggunakan strategi berikut: formulir isian menggunakan TopComponent dengan posisi sebagai “editor“, kemudian “LiveHelp” menggunakan TopComponent dengan posisi “properties“. Baik form isian maupun “live help” diletakkan di module yang berbeda. Ini keunggulan Netbeans Platform: saya bisa membuat modul-modul yang terpisah. Saya harapkan ketika saya mengembangkan aplikasi saya lebih lanjut, jika saya membuat form isian yang lain maka modul LiveHelp ini bisa berfungsi tanpa perlu memodifikasinya, saya hanya konsentrasi di form isian yang baru tersebut. Rock! Konsep yang bagus bukan.

Sekarang saatnya mengimplementasikan konsep diatas.

1. Pertama yang perlu dibuat adalah Module Suite Project. Dibuat via menu File -> New Project -> Netbeans Plug-in Module -> Module Suite Project. Klik Next. Isikan nama project “Aspahlt“.

2. Membuat API Module yang akan diisi dengan kode non-visual. Untuk menghubungkan module “form isian” dengan module “live help” saya perlu membuat class sebagai jembatan. Saya namakan class ini APILiveHelpBridge. Berikut kodenya:

/*
* APILiveHelpBridge.java
*/

package com.betonsoft.asphalt.asphaltapi;

/**
*
* @author Agus Suhartono
*/

public final class APILiveHelpBridge {
private String helptext;
/** Creates a new instance of APILiveHelpBridge */
public APILiveHelpBridge() {
}

public APILiveHelpBridge(String helptext) {
setHelpText(helptext);
}

public void setHelpText(String helptext) {
this.helptext = helptext;
}

public String getHelpText(){
return this.helptext;
}
}

3. Membuat “Module Project” dengan “AsphaltLiveHelp” untuk “live help”. Dibuat ia menu File -> New Project -> Netbeans Plug-in Module -> Module Project. Di dalam-nya saya buat Sebuah TopComponent dengan nama “LiveHelpTopComponent“. Saya membuatnya melalui menu “Window Component”. Didalamnya saya taruh jTextArea dengan nama jtxtaLiveHelp.

Saya perlu meng-implement LookupListener supaya AsphaltLiveHelpTopComponent bisa selalu membaca event yang terjadi di module atau TopComponent yang lain. Kode awal class akan menjadi berikut :

final class AsphaltLiveHelpTopComponent extends TopComponent implements LookupListener {

Tambahkan kode berikut :

di atas Class

import com.betonsoft.asphalt.asphaltapi.APILiveHelpBridge;
import java.util.Collection;
import org.openide.util.Lookup;
import org.openide.util.LookupEvent;
import org.openide.util.LookupListener;

di dalam class:

public void componentOpened() {
// Inisialize Lookup Object
Lookup.Template tpl = new Lookup.Template (APILiveHelpBridge.class);
result = Utilities.actionsGlobalContext().lookup(tpl);
result.addLookupListener (this);
}

public void componentClosed() {
result.removeLookupListener (this);
result = null;
}

public void resultChanged(LookupEvent lookupEvent) {
Lookup.Result r = (Lookup.Result) lookupEvent.getSource();
Collection c = r.allInstances();
if (!c.isEmpty()) {
APILiveHelpBridge bridge = (APILiveHelpBridge) c.iterator().next();

jtxtaLiveHelp.setText (bridge.getHelpText()); // **** STOP PRESS ****

} else {
jtxtaLiveHelp.setText(”[no help]“);
}
}

Nah Live Help udah selesai, sekarang saatnya memakainya.

4. Membuat “Module Project” dengan nama “AsphaltMasterEntry” untuk form isian. Dibuat ia menu File -> New Project -> Netbeans Plug-in Module -> Module Project. Di dalam-nya saya buat Sebuah TopComponent dengan nama “MasterEntryTopComponent“. Saya membuatnya melalui menu “Window Component”.

Tambahkan variable berikut kedalam MasterEntryTopComponent class

private final InstanceContent content = new InstanceContent();

Tambahkan kode berikut di dalam Constructor MasterEntryTopComponent

associateLookup (new AbstractLookup (content));
APILiveHelpBridge livehelp = new APILiveHelpBridge();
livehelp.setHelpText(”Main Help”);
content.set(Collections.singleton (livehelp), null);

Tambahkan kode berikut dalam event FocusGained di masing-masing field yang ingin ditambahi live help.

APILiveHelpBridge livehelp = new APILiveHelpBridge();
livehelp.setHelpText(”Tentukan jumlah arah lalu-lintas: 1 atau 2″);
content.set(Collections.singleton (livehelp), null);

Contoh :

private void jcboJumlahArahFocusGained(java.awt.event.FocusEvent evt) {
// NOTE: sebaiknya kode berikut dibungkus dalam sebuah method
APILiveHelpBridge livehelp = new APILiveHelpBridge();
livehelp.setHelpText(”Tentukan jumlah arah lalu-lintas: 1 atau 2″);
content.set(Collections.singleton (livehelp), null);
}

Finish!!!

Cukup simple dan mudah, LiveHelp Window bisa kita pindah letaknya baik di kiri, kanan atas dan bawah, atau kita minimize sekalipun. Saya senang dengan hasil yang saya dapatkan, karena aplikasi saya tampil seperti Netbeans IDE atau Visual Studio.

CATATAN:
Saya tidak menjelaskan secara lengkap bagaimana membuat module dan TopComponet karena lebih fokus ke kode. Silahkan ke netbeans.org untuk info selengkapnya.

Agus Suhartono

Simplisitas Java dalam Netbeans dengan Visual Builder “Mattise”, Bagian 3

Artikel ini merupakan lanjutan artikel sebelumnya: Simplisitas Java dalam Netbeans dengan Visual Builder “Mattise”, Bagian 1 dan Simplisitas Java dalam Netbeans dengan Visual Builder “Mattise”, Bagian 2

3. Penyederhanaan yang dilakukan Netbeans/Mattise selanjutnya adalah penyederhanaan konsep event. Di dalam Swing penanganan Event dibuat fleksible , yaitu dengan mendelegasikan Event ke sebuah Class yang disebut Listener. Dan banyak listener yang ada, sehingga kadang ini justru terasa rumit.
Read the rest of this entry »

Simplisitas Java dalam Netbeans dengan Visual Builder “Mattise”, Bagian 2.

Artikel ini merupakan lanjutan artikel sebelumnya: Simplisitas Java dalam Netbeans dengan Visual Builder “Mattise”, Bagian 1.

Penyederhanaan selanjutnya adalah :

2. Pembuatan form saat aplikasi dijalankan dilakukan oleh method initComponents() yang dipanggil oleh Construktor dari form (JFrame, JPanel, JTopComponent) yang bersangkutan. Oleh Netbeans isi dari method initComponents() ini tidak bisa diedit. Read the rest of this entry »

Simplisitas Java dalam Netbeans dengan Visual Builder “Mattise”, Bagian 1.

Salah satu kesederhanaan yang ditawar kan Netbeans adalah adanya Visual Builder untuk aplikasi desktop bernama Mattise. Java nerupakan bahasa yang pada awalnya tidak didesain sebagai bahasa pemrograman visual (RAD) seperti halnya Visual Basic dan Delphi. Sehingga perancangan user interface (UI) cukup merepotkan. Dengan Mattise pekerjaan yang dulu sulit sekarang jadi mudah dan sederhana.

Berikut ini hal-hal yang perlu diketahui dengan kesederhanaan tersebut. (Penulis membandingkan dengan Visual Basic dan Delphi.) Read the rest of this entry »

NetBeans 5.0, IDE Gratis yang Ruar Biasa

NetBeans 5.0 merupakan IDE gratis untuk membangun aplikasi berbasis Java Technology. Dengan NetBeans 5.0 Anda akan bisa membuat aplikasi desktop, web maupun mobile. Yang menarik disini adalah kemudahan yang diberikan NetBeans 5.0 dibanding dengan NetBeans 4.1, yaitu GUI tools yang lebih mudah (semudah VB?), dukungan yang lebih banyak terhadap server application , web framework, web services, code completion, refactoring, editor yang lebih canggih, version control, debugging dan masih banyak lagi kemampuan lainnya. Read the rest of this entry »