Buy A Bundle And Save
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.
-
Feedback
Share this book
Table of Contents
-
- 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