-
- Introduction
- Foreword
- Preface
-
Updates
- Update 1: March 26, 2014
- Update 2: April 30, 2014
- Update 3: May 30, 2014
- Update 4: June 26, 2014
- Update 5: July 29, 2014
- Update 6: August 30, 2014
- Guide
- Application
- Get Started
-
Part 1: Core
-
Chapter 1: NetBeans Platform
-
1.1 Concepts
- 1.1.1 Modularity
- 1.1.2 Abstraction
- 1.1.3 Lifecycle Management
- 1.1.4 Pluggability, Service Infrastructure, and File System
- 1.1.5 Data-Oriented GUI Components
- 1.1.6 Standards
- 1.1.7 Tools, APIs, and Community
-
1.2 Get Started
- 1.2.1 Creation
- 1.2.2 Deployment
- 1.2.3 Commands
- 1.2.4 Properties
-
1.2.5 Features
- 1.2.5.1 Plugin Manager
- 1.2.5.2 Favorites Window
- 1.2.5.3 User Utilities
- 1.2.5.4 Image Editor
- 1.2.5.5 XML Editor
- 1.2.5.6 IDE Defaults
- 1.2.5.7 Apple Application Menu
- 1.2.6 Branding
- 1.2.7 Configuration File
- 1.2.8 Distribution
-
1.1 Concepts
-
Chapter 2: Module System
-
2.1 Concepts
- 2.1.1 Definition
-
2.1.2 Benefits
- 2.1.2.1 Developers
- 2.1.2.2 Users
- 2.1.2.3 Revenues
-
2.1.3 Characteristics
- 2.1.3.1 Deployment Format
- 2.1.3.2 Uniqueness
- 2.1.3.3 Versioning
- 2.1.3.4 Exposed Interfaces
- 2.1.3.5 Declarative Dependencies
- 2.1.3.6 Activation Type
- 2.1.3.7 Lifecycle
-
2.1.4 Manifest
- 2.1.4.1 General
- 2.1.4.2 Dependencies
- 2.1.4.3 Services
- 2.1.4.4 Visibility
- 2.1.5 Modularity
-
2.2 Get Started
- 2.2.1 Creation
- 2.2.2 Commands
- 2.2.3 Properties
- 2.2.4 Templates
- 2.2.5 Dependencies
- 2.2.6 Versioning
- 2.2.7 Lifecycle
-
2.2.8 Distribution
- 2.2.8.1 Pull
- 2.2.8.2 Push
-
2.1 Concepts
-
Chapter 3: File System
-
3.1 Concepts
- 3.1.1 Creating and Working with Arbitrary Objects
- 3.1.2 Presentation of Arbitrary Objects
- 3.1.3 Hierarchical Namespaces
- 3.1.4 Merging Multiple Namespaces
-
3.1.5 System FileSystem
- 3.1.5.1 Listening to Changes in the System FileSystem
- 3.1.5.2 Module Layers
- 3.1.5.3 Read/Write
- 3.1.6 FileObject
- 3.1.7 Object
- 3.1.8 Factories
-
3.1.9 Access
- 3.1.9.1 Root
- 3.1.9.2 Folder
- 3.1.9.3 Object
- 3.1.9.4 Attribute
- 3.1.10 DataObject
-
3.2 Get Started
-
3.2.1 Basic
- 3.2.1.1 Application
- 3.2.1.2 Provider
- 3.2.1.3 Consumer
-
3.2.2 Advanced
- 3.2.2.1 Provider
- 3.2.2.2 Consumer
-
3.2.1 Basic
-
3.1 Concepts
-
Chapter 4: Lookup
-
4.1 Concepts
-
4.1.1 Service Registry: Lookup.getDefault()
- 4.1.1.1 ServiceLoader
- 4.1.1.2 Lookup
- 4.1.1.3 @ServiceProvider
- 4.1.1.4 Services Folder
- 4.1.1.5 Requiring and Providing Services
-
4.1.2 Global Lookup: Utilities.actionsGlobalContext()
- 4.1.2.1 Context Global Provider
- 4.1.3 Local Lookup: Object.getLookup()
- 4.1.4 Merged Lookup: ProxyLookup
- 4.1.5 Dynamic Lookup
- 4.1.6 Central Lookup: CentralLookup.getDefault()
-
4.1.1 Service Registry: Lookup.getDefault()
-
4.2 Get Started
-
4.2.1 Service Registry
- 4.2.1.1 Application
- 4.2.1.2 API
- 4.2.1.3 Implementation
- 4.2.1.4 Usage
- 4.2.2 Global Lookup
- 4.2.3 Local Lookup
-
4.2.1 Service Registry
-
4.1 Concepts
-
Chapter 1: NetBeans Platform
-
Part 2: GUI
-
Chapter 5: Action System
-
5.1 Concepts
-
5.1.1 Basics
- 5.1.1.1 Registration
-
5.1.1.2 Presenters
- 5.1.1.2.1 Menu
- 5.1.1.2.2 Toolbar
- 5.1.1.2.3 Custom Presenter
- 5.1.1.2.4 Keyboard Shortcut
- 5.1.1.2.5 Mnemonic
- 5.1.1.3 Hiding
- 5.1.1.4 Reordering
- 5.1.1.5 Enablement
-
5.1.2 Advanced
- 5.1.2.1 Complex Enablement
-
5.1.2.2 Callback Actions
- 5.1.2.2.1 Using Existing Keys
- 5.1.2.2.2 Creating Custom Keys
- 5.1.2.3 Toolbar Configuration
-
5.1.1 Basics
-
5.2 Get Started
- 5.2.1 Application
- 5.2.2 Wizard
- 5.2.3 No Wizard
- 5.2.4 Enablement
- 5.2.5 Porting
-
5.1 Concepts
-
Chapter 6: Window System
-
6.1 Concepts
-
6.1.1 Benefits
- 6.1.1.1 Plumbing
- 6.1.1.2 Multiple Windows
- 6.1.1.3 Logical Window Management
- 6.1.1.4 Window State
-
6.1.1.5 Selection Management
- 6.1.1.5.1 Lookup
- 6.1.1.5.2 Activated Nodes
- 6.1.1.6 API vs. Implementation
-
6.1.2 Basics
- 6.1.2.1 Description
- 6.1.2.2 Registration
- 6.1.2.3 Open Action
- 6.1.2.4 Lifecycle
- 6.1.2.5 Non-Declarative TopComponents
- 6.1.2.6 Dock
- 6.1.2.7 Undo
-
6.1.2.8 Lookup
- 6.1.2.8.1 Save Action
- 6.1.2.8.2 Save All Action
- 6.1.2.8.3 Zoom Action
- 6.1.2.8.4 Miscellaneous
-
6.1.3 Advanced
- 6.1.3.1 Persistence
- 6.1.3.2 Mode
- 6.1.3.3 Group
- 6.1.3.4 Role
- 6.1.3.5 Validation
- 6.1.3.6 Tab
- 6.1.3.7 Busy
-
6.1.1 Benefits
-
6.2 Get Started
- 6.2.1 Application
- 6.2.2 Wizard
- 6.2.3 No Wizard
- 6.2.4 Functionality
- 6.2.5 Porting
-
6.1 Concepts
-
Chapter 7: Nodes and Explorers
-
7.1 Concepts
-
7.1.1 Node
- 7.1.1.1 BeanNode
- 7.1.1.2 DataNode
- 7.1.1.3 FilterNode
- 7.1.1.4 AbstractNode
-
7.1.2 Children
- 7.1.2.1 Simple
- 7.1.2.2 Complex
-
7.1.3 GUI Components
- 7.1.3.1 View
- 7.1.3.2 Manage
- 7.1.3.3 Synchronize
- 7.1.3.4 Outline
- 7.1.3.5 Extend
- 7.1.3.6 Utilities
- 7.1.4 Selection
-
7.1.5 Lookup
- 7.1.5.1 View
- 7.1.5.2 Node
- 7.1.5.3 Children
-
7.1.6 Actions
-
7.1.6.1 New
- 7.1.6.1.1 XML
- 7.1.6.1.2 JPA
- 7.1.6.2 Delete
- 7.1.6.3 Rename
-
7.1.6.4 Open
- 7.1.6.4.1 Standard
- 7.1.6.4.2 MultiView
- 7.1.6.5 Reorder
-
7.1.6.6 Drag and Drop
- 7.1.6.6.1 Dragging
- 7.1.6.6.2 Dropping
- 7.1.6.7 Annotations
-
7.1.6.1 New
- 7.1.7 Properties
-
7.1.1 Node
-
7.2 Get Started
-
7.2.1 Object
- 7.2.1.1 Application
- 7.2.1.2 Object
- 7.2.1.3 Node
- 7.2.1.4 Factory
- 7.2.1.5 View
- 7.2.1.6 Synchronize
- 7.2.1.7 Hierarchy
-
7.2.2 File
- 7.2.2.1 Application
- 7.2.2.1 View
- 7.2.2.3 File Type
- 7.2.2.4 Node
- 7.2.3 Functionality
- 7.2.4 Porting
-
7.2.1 Object
-
7.1 Concepts
-
Chapter 5: Action System
-
Part 3: Extras
-
Chapter 8: Palettes and Widgets
-
8.1 Concepts
-
8.1.1 Palette
- 8.1.1.1 Basics
-
8.1.1.2 Providing
- 8.1.1.2.1 System FileSystem
- 8.1.1.2.2 Node Hierarchy
-
8.1.1.3 Consuming
- 8.1.1.3.1 Java Swing
- 8.1.1.3.2 Scene
- 8.1.1.3.3 Lookup
-
8.1.1.4 Configuring
- 8.1.1.4.1 Action
- 8.1.1.4.2 Filter
- 8.1.1.4.3 Drag And Drop Handler
- 8.1.1.4.4 Listener
- 8.1.1.4.5 Attribute
- 8.1.1.4.6 Manager
-
8.1.2 Visual Library
- 8.1.2.1 Widget
-
8.1.2.2 Action
- 8.1.2.2.1 Factories
- 8.1.2.2.2 Providers
- 8.1.2.2.3 Groupings
- 8.1.2.2.4 Types
- 8.1.2.3 Border
- 8.1.2.4 Layout
-
8.1.2.5 Scene
- 8.1.2.5.1 ObjectScene
- 8.1.2.5.2 GraphScene
- 8.1.2.5.3 GraphPinScene
- 8.1.2.5.4 VMDGraphScene
- 8.1.2.6 Lookup
-
8.1.1 Palette
-
8.2 Get Started
- 8.2.1 Application
- 8.2.2 Model
-
8.2.3 Palette
- 8.2.3.1 Content
- 8.2.3.2 Controller
- 8.2.3.3 View
-
8.2.4 Visual Library
- 8.2.4.1 Scene
- 8.2.4.2 Accept
- 8.2.4.3 Connect
- 8.2.4.4 Resize
- 8.2.4.5 Delete
-
8.2.4.6 Export
- 8.2.4.6.1 Image
- 8.2.4.6.2 XML
-
8.1 Concepts
-
Chapter 9: Project System
-
9.1 Concepts
-
9.1.1 Benefits
- 9.1.1.1 Projects Window
- 9.1.1.2 New Project Dialog
- 9.1.2 Basic and Advanced Classes
-
9.1.1 Benefits
-
9.2 Get Started
-
9.2.1 From Scratch
-
9.2.1.1 Basics
- 9.2.1.1.1 Application
- 9.2.1.1.2 Factory
- 9.2.1.1.3 Project
- 9.2.1.1.4 Description
-
9.2.1.2 Advanced
- 9.2.1.2.1 View
- 9.2.1.2.2 Children
- 9.2.1.2.3 Customizer
- 9.2.1.2.4 Subproject
- 9.2.1.2.5 Template
- 9.2.1.2.6 Branding
-
9.2.1.1 Basics
-
9.2.2 By Extension
-
9.2.2.1 Lookup
- 9.2.2.1.1 Privileged Templates
- 9.2.2.1.2 Recommended Templates
- 9.2.2.1.3 Subproject
- 9.2.2.2 View
- 9.2.2.3 Customizer
- 9.2.2.4 Icon
-
9.2.2.1 Lookup
-
9.2.1 From Scratch
-
9.1 Concepts
-
Chapter 10: Miscellaneous
-
10.1 Dialog
-
10.1.1 Predefined Dialogs
- 10.1.1.1 Information Dialog
- 10.1.1.2 Question Dialog
- 10.1.1.3 Input Dialog
- 10.1.1.4 Error Dialog
- 10.1.2 Custom Dialogs
-
10.1.1 Predefined Dialogs
-
10.2 Execution
- 10.2.1 Executing an External Process
- 10.2.2 Processing Input
- 10.2.3 Printing Input
- 10.2.4 Custom Process Builder
- 10.2.5 Destroying a Process
- 10.2.6 Extending Startup Environment
- 10.2.7 Making Certain Open Actions Pluggable
- 10.3 Output
- 10.4 Preference
- 10.5 Progress
- 10.6 Quick Search
- 10.7 Status
-
10.8 Task
- 10.8.1 Delayed
- 10.8.2 Periodic
- 10.8.3 Coalescing
- 10.8.4 Interrupted
-
10.9 Utilities
- 10.9.1 ChangeSupport
- 10.9.2 Conversions
- 10.9.3 FileChooserBuilder
- 10.9.4 ImageUtilities
- 10.9.5 NbBundle.Messages
- 10.9.6 Notifications
- 10.9.7 StaticResource
- 10.9.8 WeakListener
- 10.9.9 XMLUtil
-
10.10 Wizard
- 10.10.1 Key Classes
- 10.10.2 Get Started
- 10.10.3 Registration
- 10.10.4 Iterators
- 10.10.5 Panels
- 10.10.6 Customization
-
10.1 Dialog
-
Chapter 8: Palettes and Widgets
- Conclusion
Apache NetBeans Platform for Beginners
Modular Application Development for the Java Desktop
Minimum price
$34.99
$49.99
You pay
$49.99Authors earn
$39.99About
About the Book
Whether a complete newbie to creating pluggable Java desktop software with the NetBeans Platform or interested in refreshing your knowledge and filling in the gaps, this is for you! The main themes of the book are modules, file systems, windows, nodes, and actions... and everything in between. Start your modular development process with the best set of texts and exercises available today.
For background on this book, read this interview with the authors, published on jaxenter.com.
Author
About the Authors
Jason Wexbridge
Jason Wexbridge is an expert in Java software development, leading a team of engineers in a distributed development environment. He's found modularity to be the key factor in successfully setting up agile development teams and he initiated "NetBeans Platform for Beginners" to share the wealth of his experience. A technical writer by trade, his focus is always to ensure a strong mixture between theoretical and practical knowledge transfer. He's based in Orlando, Florida.
Walter Nyland
Walter Nyland has years of experience in the software industry. After development work with C and C++, he moved to Java and gradually moved all his software development activities on the NetBeans Platform. He has been responsible for a variety of corporate software development projects, particularly in unmanned vehicle control software, using the NetBeans Platform as the basis of a suite of development products. Delving into technical writing for the first time, Walter has provided a lot of the technical insights into the inner workings of the NetBeans Platform to the book. He's based in Boise, Idaho.
Contents
Table of Contents
Contributors
About the Contributors
Michael W. Bishop
Geertjan Wielenga
Jaroslav Tulach
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them
Write and Publish on Leanpub
You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!
Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.
Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.