Tutorial Index

We have a suite of tutorials on Java, XML, Swing, BlackBerry, Android, GWT, SOA, servlets, and web services technologies to help you create real-world applications, services, and user experiences. All the source code provided on this site is distributed under the Apache Open Source License v2.0.

XML GWT RIA, Swing, JavaFX
Basics:
What is XML? An introduction
Tutorial 1 (DOM, Swing, Servlet)
Tutorial 2 (DOM, Swing)
Tutorial 3 (DOM, Servlet)
Should I use SAX or DOM?
SAX Tutorial (SAX, Swing, Servlet)
Intro to DOM 1.0 API
Architecture:
Hybrid Parser Architectural Pattern
Benefits of using XML (with Java)
Java and XML Application Categories
Introduction to XML, Java, databases
Misc:
XML SQL gateway (socket based)
Apache:
Using Apache Jakarta Betwixt
Using Apache Jakarta Digester
Using Apache Jakarta XMLBeans
Basics:
GWT Introduction
Anatomy of a GWT project
Create "Hello World" with GWT and IDEA
Using and creating modules
Build GWT RPC services
Transport objects over RPC – GWT Object Serialization
Using Servlet Sessions in GWT
GWT browser integration – Histories and Hyperlinks
Using GWT History to create an RSS reader
Deployment Scenarios for GWT apps
User Interface:
Working with GWT UI series
JavaFX, Animated transitions:
Using glasspane for animation (TimingFramework, SwingX)
Using AnimatedTransitions API
PDFRenderer API
Scene Graph API
JWebPane API (Java WebKit)
SwingX:
SwingX introduction – Painters and JXPanel
SwingX task pane – JXTaskPane, Container
SwingX busy label – JXBusyLabel
Image effects – reflections, blurs, shadows, and animations
Background Tasks:
Create multi-threaded Swing apps that consume webservices
SwingWorker details – canceling background tasks in flight
Task API 1 – Quick start guide
Task API 2 – In-depth guide
Task API 3 – monitoring HTTP POST
Task API 4 – Network and Recurring Tasks
Task API 5 – Managing Tasks
coffee Core Java SOA Misc
Introduction to threads
Advanced Threads
Introduction to Java5 concurrent API
Using enum in Java5
Using generics in Java5
Using dynamic proxy generation in Java5
Using executor framework in Java5
Basics:
What is SOA?
Issues with service versioning in SOA
Services:
Twitter API Integration
Accessing weather.com XML feeds from Java
Geocoding – getting physical address from IP address (using ippages)
Geocoding – getting physical address from IP address (using MaxMind)
Geocoding – accessing Google Static Maps API from Java
Architecture:
Lightweight Remote Object Access – RESTful Java
Connecting to the LinkPoint stating server for payments integration
External Resources and References
Fedora Core Configuration
Adapter Pattern
Delegation Pattern
Factory Pattern
JVM, URLs and Firewalls
Android BlackBerry  
Service enabled app Part 1/3 – Building a simple UI without using XML
Service enabled app Part 2/3 – Networking and object serialization
Service enabled app Part 3/3 – UI and background threads
Android SDK and Tools – Getting Started
Android Activity and sub-Activity
Android XML View Inflation
Android Option and Context menu
Android LinearLayout
Android TableLayout
Android UI Themes
Android ListView and custom adapter
Android WebView (WebKit)
Android Application Provisioning Strategies
Using JSON for mobile object exchange
Tools, SDK, Getting started
BlackBerry SDK and tools – Getting Started
BlackBerry Development Tools – Eclipse Plugin (in beta)
BlackBerry Development Tools – JDE (and IDEA)
Getting code signing keys from RIM, then using them
UI Stuff
Creating your first GUI BlackBerry App
Working with BlackBerry Layout Managers
Working with BlackBerry screens
Creating a BlackBerry custom field
Asking for BlackBerry application permissions upfront
BlackBerry field borders and backgrounds
Using the BlackBerry gauge field to display progress
Working with BlackBerry list fields
Networking, Services, RPC
Using JSON for mobile object exchange
Creating a BlackBerry HTTP Connection