// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Java GUI Applications Learning Trail
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Java GUI Applications Learning Trail - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Java GUI Applications Learning Trail


== What are Java GUI applications?

A Java GUI application uses the standard Java components GUI component set, Swing, and is deployed to the desktop.

The Swing GUI Builder in NetBeans IDE simplifies the GUI development process and enables you to visually create Java GUI applications using pre-installed Swing and AWT components.

link:http://www.oracle.com/technetwork/java/javafx/overview/index.html?ssSourceSiteId=otncn[+JavaFX+] is a rich set of graphics and media packages that enables developers to design, create, test, debug, and deploy rich client applications (RIAs) that behave consistently across multiple platforms.

== Getting Started

* link:http://docs.oracle.com/javafx/2/get_started/jfxpub-get_started.htm[+Getting Started with JavaFX+]

== Tutorials and Articles

=== JavaFX 8 Developer Preview

* link:http://docs.oracle.com/javafx/8/3d_graphics/jfxpub-3d_graphics.htm[+Getting Started with JavaFX 3D Graphics+]
* link:http://docs.oracle.com/javafx/8/embed_swing/jfxpub-embed_swing.htm[+Embedding Swing Content in JavaFX Applications+]
* link:http://docs.oracle.com/javafx/8/webview/jfxpub-webview.htm[+Adding HTML Content to JavaFX Applications+]

=== Getting Started with JavaFX

* link:http://docs.oracle.com/javafx/2/overview/jfxpub-overview.htm[+What Is JavaFX?+]
* link:http://docs.oracle.com/javafx/2/deployment/whatsnew_deployment.htm[+Deploying JavaFX Applications: Getting Started+]

=== JavaFX Scene Builder

* link:http://docs.oracle.com/javafx/scenebuilder/1/overview/jsbpub-overview.htm[+Overview of JavaFX Scene Builder+]
* link:http://docs.oracle.com/javafx/scenebuilder/1/get_started/jsbpub-get_started.htm[+Getting Started with JavaFX Scene Builder 1.1 +]
* link:http://docs.oracle.com/javafx/scenebuilder/1/user_guide/jsbpub-user_guide.htm[+JavaFX Scene Builder User Guide+]
* link:http://docs.oracle.com/javafx/scenebuilder/1/use_java_ides/sb-with-nb.htm#CIHDHEFE[+Using Scene Builder with NetBeans IDE+]

=== JavaFX Application Logic

* link:http://docs.oracle.com/javafx/2/architecture/jfxpub-architecture.htm[+JavaFX Architecture+]
* link:http://docs.oracle.com/javafx/2/scenegraph/jfxpub-scenegraph.htm[+Working with the JavaFX Scene Graph+]
* link:http://docs.oracle.com/javafx/2/binding/jfxpub-binding.htm[+ Using JavaFX Properties and Binding+]
* link:http://docs.oracle.com/javafx/2/collections/jfxpub-collections.htm[+Using JavaFX Collections+]
* link:http://docs.oracle.com/javafx/2/threads/jfxpub-threads.htm[+Concurrency in JavaFX+]
* link:http://docs.oracle.com/javafx/2/best_practices/jfxpub-best_practices.htm[+Implementing JavaFX Best Practices+]

=== JavaFX User Interface

* link:http://docs.oracle.com/javafx/2/layout/jfxpub-layout.htm[+Working With Layouts in JavaFX +]
* link:http://docs.oracle.com/javafx/2/text/jfxpub-text.htm[+Using Text and Text Effects in JavaFX+]
* link:http://docs.oracle.com/javafx/2/ui_controls/jfxpub-ui_controls.htm[+Using JavaFX UI Controls+]
* link:http://docs.oracle.com/javafx/2/fxml_get_started/jfxpub-fxml_get_started.htm[+Mastering FXML +]
* link:http://docs.oracle.com/javafx/2/events/jfxpub-events.htm[+Handling JavaFX Events +]
* link:http://docs.oracle.com/javafx/2/charts/jfxpub-charts.htm[+Using JavaFX Charts +]
* link:http://docs.oracle.com/javafx/2/webview/jfxpub-webview.htm[+Adding HTML Content to JavaFX Applications+]
* link:http://docs.oracle.com/javafx/2/css_tutorial/jfxpub-css_tutorial.htm[+Skinning JavaFX Applications with CSS+]
* link:http://docs.oracle.com/javafx/2/drag_drop/jfxpub-drag_drop.htm[+Drag-and-Drop Feature in JavaFX Applications+]
* link:http://docs.oracle.com/javafx/2/canvas/jfxpub-canvas.htm[+Working with Canvas+]
* link:http://docs.oracle.com/javafx/2/image_ops/jfxpub-image_ops.htm[+Using the Image Ops API+]

=== JavaFX Effects, Animation, and Media

* link:http://docs.oracle.com/javafx/2/visual_effects/jfxpub-visual_effects.htm[+Creating Visual Effects in JavaFX+]
* link:http://docs.oracle.com/javafx/2/transformations/jfxpub-transformations.htm[+Applying Transformations in JavaFX+]
* link:http://docs.oracle.com/javafx/2/animations/jfxpub-animations.htm[+Creating Transitions and Timeline Animation in JavaFX +]
* link:http://docs.oracle.com/javafx/2/media/jfxpub-media.htm[+Incorporating Media Assets Into JavaFX Applications +]

=== JavaFX Deployment and More

* link:http://docs.oracle.com/javafx/2/deployment/jfxpub-deployment.htm[+Deploying JavaFX Applications +]
* link:http://docs.oracle.com/javafx/2/swing/jfxpub-swing.htm[+JavaFX for Swing Developers+]
* link:http://docs.oracle.com/javafx/2/swt_interoperability/jfxpub-swt_interoperability.htm[+JavaFX Interoperability with SWT+]
* link:http://docs.oracle.com/javafx/2/doclet/jfxpub-doclet.htm[+Using a Doclet with JavaFX+]

== Tutorials and Articles

=== Getting Started with Swing

* link:../docs/java/native_pkg.html[+Native Packaging in NetBeans IDE+]
* link:../docs/java/gui-functionality.html[+Introduction to Java GUI Building+]
* link:../docs/java/quickstart-gui.html[+Designing a Swing GUI in NetBeans IDE+]
* link:../docs/java/quickstart-gui-legend.html[+NetBeans IDE GUI Builder Visual Feedback Legend+]
* link:../docs/java/gui-image-display.html[+Handling Images in a GUI Application+]
* link:../docs/java/gui-filechooser.html[+Adding a FileChooser to a GUI Application+]
* link:../docs/java/gbcustomizer-basic.html[+Designing a Basic Java Form Using the GridBag Customizer+]
* link:../docs/java/gbcustomizer-advanced.html[+Designing an Advanced Java Form Using the GridBag Customizer+]
* link:../docs/java/gui-gaps.html[+Gap Editing Support in the NetBeans GUI Builder+]
* link:../docs/java/debug-visual.html[+Using the Visual Debugger+]

=== Java Persistence and Beans Binding

* link:../docs/java/gui-binding.html[+Binding Beans and Data in a Java Application+]
* link:../docs/java/hibernate-java-se.html[+Using Hibernate in a Java Swing Application+]
* link:../docs/java/maven-hib-java-se.html[+Creating a Maven Swing Application Using Hibernate+]

=== Internationalization

* link:../docs/java/gui-automatic-i18n.html[+Internationalizing a GUI Form+]

== Screencasts

* link:http://www.youtube.com/watch?v=ddJpDi5SWFc[+JavaFX Graphics Tips and Tricks+]
* link:https://blogs.oracle.com/geertjan/entry/thanks_javafx_wysiwyg_html_editor[+Thanks JavaFX: WYSIWYG HTML Editor for NetBeans IDE +]
* link:../docs/java/nb_fx_screencast.html[+Demo: JavaFX Support in NetBeans IDE+]
* link:../docs/java/gui-builder-screencast.html[+Designing a Swing GUI in NetBeans IDE+]

== Community-Contributed Docs

* link:http://netbeans.dzone.com/articles/how-integrate-javafx-netbeans-part3[+How to Integrate JavaFX into a NetBeans Platform Wizard (Part 1)+] (_by Sean Phillips_)
* link:http://netbeans.dzone.com/articles/how-integrate-javafx-netbeans[+How to Integrate JavaFX into the NetBeans Platform Menu bar+] (_by Geertjan Wielenga_)
* link:http://wiki.netbeans.org/UsingNetbeansMatisseAndEclipseInParallel[+Using Netbeans Matisse And Eclipse In Parallel+]

== Other Resources

* link:http://download.oracle.com/javafx/[+JavaFX Documentation+]
* link:http://wiki.netbeans.org/JavaFX[+NetBeans wiki page on JavaFX support+]
* link:http://docs.oracle.com/javase/tutorial/uiswing/index.html[+ docs.oracle.com Swing Tutorial+]
* link:https://www.java.net//community/javafx/faqs[+JavaFX FAQs+]
* link:http://wiki.netbeans.org/NetBeansUserFAQ#GUI_Editor_.28Matisse.29[+GUI Editor FAQs+]
* link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG399[+Working with a JavaFX Project+] in _Developing Applications with NetBeans IDE_
* link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG920[+Implementing Java GUIs+] in _Developing Applications with NetBeans IDE_
* link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG1245[+Developing with Java Persistence+] in _Developing Applications with NetBeans IDE_
* link:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG188[+Internationalizing Source Code+] in _Developing Applications with NetBeans IDE_
