Category Archives: NetBeans

A category dedicated to NetBeans

NetBeans Platform Certified Training

Hi guys, I just attended the NetBeans Platform Certified Training organized by NUG Nagpur leader Mr. Tushar Joshi and given by Geertjan Wielanga on 27-28 November. This training was a two day training which acquainted the trainees about the NetBeans Platform and all its features. This training was held through WebEx and Skype and we had participants from India, Toga and Canada. So it was an International Training in some sense. Here is the complete debrief of the training…

Day 1

Well we basically started with a brief introduction to the NetBeans Platform and Geertjan cleared all the doubts that people had regarding the Platform. He also told the advantages of using the NetBeans Platform for developing Rich Client Platform Applications (I assume here that you understand RCP applications).

Also we learnt how to divide our applications into Modules thus making it simpler to manage the application. Also dividing an application into modules makes it more extensible and gives it plug-ability as all the modules are independent of each other and making some changes in one does not affect the other. Thus Modularity is an important feature in RCP application developement.

Then we moved onto Dependency Management. Well to explain in simple words, NetBeans developers have created many APIs that can be directly used for your application development. This saves a lot of coding time as most of the code is written by someone else and we just modify that according to our needs. all you need to do is to add the API in your Library folder and voilà you have all the features of that API.

The third thing that we learnt was the use of Lookup. Lookup library was designed the main problem of Component communication. It deals with how the components register with the system and how other components look up onto them.

We also learnt Java Extension mechanism which is a mechanism that allows to make custom APIs available to all the running applications on Java Platform. After the release of JDK 1.3 the are also termed as Optional Packages.

Then we moved onto the last topic of Day 1, Central Registry. Central registry is a feature that allows you to use the File System without importing the java.io.file class making coding simpler.

All throughout the day we were using the above mentioned features for developing a Word Editor that allows to convert Lower Case letters to Upper Case. It was not a Regular Swing Word Editor as it was very intricately designed, although it may look like a swing application.

Day 1 ended with a Question-Answer session in which participants asked their doubts to Geertjan and he cleared all of them.

Day 2

Day 2 started with a revision of all the things we covered on Day 1 and a small discussion session that Geertjan asked to hold so that he could check how much we had understood. To do this he had given us 3 questions which we had to discuss amongst ourselves and mail him the answers.

Then as we moved on we learnt the Nodes API. It is an API that is very useful in creation of a BeanTree View in NetBeans. Data can be represented using Nodes. The nodes allow the implementation of Icons and actions to them. These are the types of Nodes

1) BeanNode    2) AbstractNode    3) DataNode    4) FilterNode

Then we learnt the concept of Explorer Manager. Explorer Manager is an API that is used to manage all the views created by the developer. It listens to all the changes happening in the Node and thus can be used to control all the nodes including the root node. It should be implemented as ExplorerManager.Provider .

The next step of our training was Visual Management. Visual management was one of the most interesting topics of the training as it dealt with the management of the Views. The Explorer Manager is used to control the views and hence Visual Management involves extensive use of it.

Next it was time to learn how to give Actions to the components. We learnt to provide a drag-and-drop action to our node. This is where the creativity in you can be used. Providing Actions to Views requires a lot of creativity.

The Final part of out training was Widgets. Widgets are nothing but components that can be animated to give a rich look to the application. We designed a drag-and-drop widget. If we drag a node and place it into the text area we had defined below the text would appear in it.

All throughout the Day 2 we designed a Student Registration application using all the above features.

Day 2 ended on a very high note with all the trainees really happy.

All the trainees who completed the training are now NetBeans Certified Associates but what matters more is we understood what it takes to develop a very good looking and equally functional RCP application.

A special thanks to Geertjan Wielanga for giving us his precious time. Also a big thanks to Tushar Joshi who made all this happen.

This post of mine is dedicated to all the NUG Nagpur members who I became friends within the course of this training and to Tushar Joshi Sir.

Thank you all

Here is our group photo

A GUI program using NetBeans

Well this is a GUI program that I have created using Netbeans.
In this program the computer generates a Random Number after hitting the Generate button which the user has to guess.
The User enters his Number and hits the Check button to check if the number matches Computer’s number.
The user has a maximum of 5 chances to check the number and the computer gives hints on every wrong guess.
Snapshots-

NetBeans Platform

Well my earlier post was about NetBeans IDE and now in this post I will explain the NetBeans Platform and the difference between the Platform and IDE

NetBeans Platform

The NetBeans Platform is a reusable framework for simplifying the development of Java Swing desktop applications. The NetBeans IDE bundle for Java SE contains what is needed to start developing NetBeans plugins and NetBeans Platform based applications; no additional SDK is required.

Applications can install modules dynamically. Any application can include the Update Center module to allow users of the application to download digitally-signed upgrades and new features directly into the running application. Reinstalling an upgrade or a new release does not force users to download the entire application again.

The platform offers reusable services common to desktop applications, allowing developers to focus on the logic specific to their application. Among the features of the platform are:

  • User interface management (e.g. menus and toolbars)
  • User settings management
  • Storage management (saving and loading any kind of data)
  • Window management
  • Wizard framework (supports step-by-step dialogs)
  • NetBeans Visual Library

Now lets move onto the other topic that i I want to cover in this post and that is Rich Client Platform Development

Rich Client

In a client server architecture the term “rich client” is used for clients where the data processing occurs mainly on the client side. The client also provides the graphical user interface. Often rich clients are applications that are extendable via plugins and modules. In this way, rich clients are able to solve more than one problem.

Rich clients have the advantage that they are easy to distribute and update, such as via an automatic online update function within the client itself or through a mechanism that enables the rich client to start over the Internet (for example, via Java Web Start).

The important characterstics of the rich client are:

• Flexible and modular application architecture

• Platform independence

• Adaptability to the end user

• Ability to work online as well as offline

• Simplified distribution to the end user

• Simplified updating of the client

Rich Client Platform

Rich Client Platform (RCP) is software consisting of the following components:

  • A core (microkernel), lifecycle manager
  • A standard bundling framework
  • A portable widget toolkit
  • File buffers, text handling, text editors
  • A workbench (views, editors, perspectives, wizards)
  • Data binding
  • Update manager

With it, programmers can build their own applications on existing platforms. Instead of having to write a complete application from scratch, they can benefit from proven and tested features of the framework provided by the platform. Building on a platform facilitates faster application development and integration, while the cross-platform burden is taken on by the platform developers.

Their creators claim that programs built with RCP platforms are portable to many operating systems while being as rich as client-server applications which use so called fat clients or traditional clients.

NetBeans 6.9.1 released

As you all might be knowing NetBeans is a free open source IDE for software development. Basically, you can create Desktop Applications, Web-based Applications, Mobile Applications & Enterprise Applications using JAVA in NetBeans. Also you can create C/C++ programs in Netbeans IDE.

So in all NetBeans is a very powerful IDE(Integrated Development Environment) that can be used to create very good looking and powerful applications in a very simple way.

The latest version of Netbeans is the Netbeans 6.9.1.

Its features are:

  • JavaFX Composer
  • Support for JavaFX SDK 1.3
  • Support for the PHP Zend framework
  • OSGi interoperability
  • Ruby on Rails 3.0
  • Well lets start with understanding the following:

    Java Desktop Application-

    Well as the name suggests it is a desktop application which can be created using the Swing library. NetBeans provides a Swing GUI builder which can reduce a lot of effort and hence lead to more productivity. The basic aim of providing such builder was only to help the user focus more on programming rather than the GUI.

    Java Enterprise and Web Applications-

    A very good web based application can be created using this.  Build web applications using CSS, JavaScript, and JSP: Support for frameworks includes JSF (Facelets), Struts, Spring, Hibernate, and a full set of tools for Java EE 6, CDI, GlassFish 3, EJB, and web services development.

    JAVA Mobile Applications-

    Create Mobile applications for Mobile devices using JAVA ME SDK 3.0 combined with JavaFX Mobile.

    C & C++ Development-

    Create C/C++ programs, test them , debug them all in a single IDE. Also run multiple projects at one time which cannot be done in Turbo C++ IDE.

    JavaFX Composer-

    JavaFX Composer is a new visual editor plugin for NetBeans 6.8 (similar to Project Matisse for Swing) that uses components in the JavaFX SDK.  DZone recently interviewed the JavaFX Tools QA Team lead at Sun Microsystems, Lukas Hasik, to see how developers were responding to the new tool and find out when the GA release is coming.  The plugin is still in the process of adding more features, and community feedback is crucial for deciding those features.  It currently resembles tools like Flash Builder and Microsoft Blend, but it makes things easier on developers who don’t have design training.

    for more information on NetBeans 6.9.1 visit the link given below:

    http://netbeans.org/

    here is the release note of NetBeans 6.9.1

    http://netbeans.org/community/releases/69/relnotes.html

    References-

    http://hrushikeshzadgaonkar.wordpress.com/

    http://java.dzone.com/articles/will-javafx-composer

    %d bloggers like this: