ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Programming In Java NetBeans - A Step By Step Tutorial For Beginners: Lesson 36

Updated on October 23, 2019
dwachira profile image

Danson Wachira is a certified Trainer in Computer Science, Information Technology and related studies.

Lesson 36: How to create GUI Java forms

Welcome to Lesson 36 on programming in Java NetBeans, I must congratulate you for having made it up to this stage all the way from Lesson 1. I believe by now you have gained valuable programming skills and that you are more knowledgeable than when we started this tutorial.

For the subsequent lessons beginning with this particular lesson, we shall spend some time looking at Java capability on Graphical User Interface (GUI), Java forms and controls on Java NetBeans IDE. Soon you shall appreciate how working with forms and controls is simplified in Java NetBeans.


Creating user interfaces in any GUI enabled programming environment can be an art in itself. All what an aspiring programmer needs to do is to get skills on how to manipulate different controls and use of working areas such as Properties, Containers, Palette, Layout Managers and other components that can be found on a typical GUI environment.

In some versions of Java programming language, the programmer is actually required to write lengthy codes that define the layout and function of various controls to be used in the program. Thankfully, in Java NetBeans programming becomes a bit easier with the capability of dragging and dropping these controls. It's however very useful to learn the loops of controls in coding.

We’ll begin this part of Java and GUI by creating a Java form and various controls that can be used on a Java form. Create a new project, call it FormControls. Uncheck the “Create Main Class” checkbox, this is because Java NetBeans will automatically create a main class when we create a new form.

Creating new project in Java NetBeans
Creating new project in Java NetBeans

Exit from the above window by clicking the “Finish” button and Java NetBeans will create a new project. It should be visible on the left side of the coding window under projects.

You’ll notice that this time we don’t have any file under the default package since we unchecked the “Create Main Class” checkbox.

To create a Java form, right click on the project name in the Projects window and select New >> JFrame Form from the menu.

Creating new Java form in Java NetBeans
Creating new Java form in Java NetBeans

Enter the form name i.e. the Class Name and also the Package name. I have named the form JavaControls and the package JControls. Click the Finish button and Java NetBeans will create a new blank form on the code window.

Blank Java NetBeans form
Blank Java NetBeans form

The image above shows a blank Java NetBeans form. The form works in dual modes; Source mode and Design mode. Currently the form is on Design mode. Click on the Source mode and Java reveals some code about the form.

In the Source mode, the plus symbols can be used to expand and reveal more codes. Notice that a main class has been created among the codes. When the form is run, the main class will be executed. Consequently the main class will create a new object of the form and make the form visible. See the part of the code that does that:

Java NetBeans generates all these code for you otherwise you would have code them yourself. Looking on the Project window now, you will notice that a new class, or whichever name you gave the class, has been added. Click back to the Design mode and look for the Properties and Palette windows shown below:

If you are unable to locate the above windows, click on Window >> Palette and Window >> Properties on the Java NetBeans menu.

The Properties window lists various properties that you can associate with the form such as fonts, title, font size etc. The Palette window lists various controls that can be added onto the form.

Just to have a feel of the form properties, let us assign a title to the form. Click on the blank for so that it is selected. When the form is selected, it has an orange border and the Properties window is preceded by the name [JFrame]. Locate for the "title" property and type “FormControls” and then press the Enter key.

Now, run the form by clicking the run button on the menu bar. Since it is the first time you are running the form, Java NetBeans will display a dialogue box asking you to select the main method to be used. Since we only have one main method i.e JavaControls, click “OK” and the form should be displayed with the title that we have assigned to it.

As you can see, changing a form title is as simple as assigning the title. The form has three buttons; minimize, maximize and close buttons. The form look and feel may be slightly different depending on varying environments such as the version of Windows used or different operating systems. You have now made the first step of creating a GUI application in Java NetBeans. In the next lesson, we shall learn how we can work with various Java NetBeans controls on Java forms.

<< Lesson 35 | Lesson 37 >>


    0 of 8192 characters used
    Post Comment
    • dwachira profile imageAUTHOR

      Danson Wachira 

      7 years ago from Nairobi, Kenya

      Thanks Alvin for the visit and positive comment.

    • profile image


      7 years ago

      Must read online tutorial for beginners Java programmers!


    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at:

    Show Details
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the or domains, for performance and efficiency reasons. (Privacy Policy)
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
    ClickscoThis is a data management platform studying reader behavior (Privacy Policy)