// 
//     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 SE Learning Trail
:jbake-type: tutorial
:jbake-tags: tutorials
:jbake-status: published
:icons: font
:toc: left
:toc-title:
:description: Java Tutorials
:reviewed: 2019-01-25

This learning trail is focused on Java SE applications. A Java SE application is an application written to the Java Platform, Standard Edition (Java SE). The same unmodified Java SE applications can be run on almost any computer, whether that computer uses the Microsoft Windows, Solaris, Linux, or OS X operating systems. The key to this application portability is the Java Runtime Environment, which is available free of charge for most operating systems, including all of the ones mentioned above.

In addition to being a platform for multi-platform desktop applications, the Java SE platform is the basis for other technologies such as Java Platform, Enterprise Edition. You might find yourself writing Java code that provides back-end server logic for web and enterprise applications as well.

== Getting Started

- link:quickstart.html[Java Quick Start Tutorial]
- link:editor-codereference.html[ Code Assistance in the NetBeans IDE Java Editor: A Reference Guide]

== Developing Java Applications

- link:javase-intro.html[Developing General Java Applications]
- link:code-inspect.html[Static Code Analysis in the NetBeans IDE Java Editor]
- link:editor-inspect-transform.html[Refactoring with Inspect and Transform in the NetBeans IDE Java Editor]
- link:javase-embedded.html[Using Oracle Java SE Embedded Support in NetBeans IDE]
- link:javase-deploy.html[Packaging and Distributing Java Desktop Applications]

== Building, Debugging, and Testing

- link:debug-visual.html[Using the Visual Debugger in NetBeans IDE]
- link:junit-intro.html[Writing JUnit Tests in NetBeans IDE]
- link:debug-multithreaded.html[Debugging Multi-threaded Applications in NetBeans IDE]

== Maven

- link:http://wiki.netbeans.org/MavenBestPractices[Maven Best Practices]
- link:maven-hib-java-se.html[Creating a Maven Swing Application Using Hibernate - NetBeans IDE Tutorial]

== Profiling Source Code

- link:profiler-intro.html[Introduction to Profiling Java Applications in NetBeans IDE]
- link:profiler-profilingpoints.html[Using Profiling Points in NetBeans IDE]

== Scripting Languages

- link:groovy-quickstart.html[Introduction to Groovy]

== JavaFX

- link:https://docs.oracle.com/javafx/2/get_started/jfxpub-get_started.htm[Getting Started with JavaFX]
- link:https://docs.oracle.com/javafx/2/overview/jfxpub-overview.htm[What Is JavaFX?]
- link:https://docs.oracle.com/javafx/2/architecture/jfxpub-architecture.htm[JavaFX Architecture]

== Java Swing

- link:gui-functionality.html[Introduction to GUI Building]
- link:native_pkg.html[Native Packaging in NetBeans IDE]
- link:quickstart-gui-legend.html[GUI Builder Visual Feedback Legend]
- link:gui-image-display.html[Handling Images in a Java GUI Application]
- link:quickstart-gui.html[Designing a Swing GUI in NetBeans IDE]
- link:gui-gaps.html[Gap Editing Support in the NetBeans GUI Builder]
- link:gui-automatic-i18n.html[Internationalizing a GUI Form]
- link:gbcustomizer-basic.html[Designing a Basic Java Form Using the GridBag Customizer]
- link:gbcustomizer-advanced.html[Designing an Advanced Java Form Using the GridBag Customizer]
- link:hibernate-java-se.html[Using Hibernate in a Java Swing Application]
