Chapter 18. Creating the QuickPanel Module
Now that we’ve walked through
the basic mechanics of creating a module, let’s move
on to a more advanced example that involves more interaction with the
Open APIs. The quickpanel module will create a
graphical TopComponent
(we’ll
actually be subclassing a TopComponent
subclass
called ExplorerPanel
) that can be docked into the
editor window and contains a drop-down list containing all of the
files available in the current project, including subfolders,
allowing you to quickly navigate between files. Then we will add a
second drop-down list that will allow you to navigate quickly among
all of the methods in the currently opened source file.
So where to start? We know we need:
- A combo box to display the contents of the current project
An existing explorer view is such a component and can be rooted on an arbitrary node—
org.openide.explorer.views.ChoiceView
.- A container component for our combo boxes
The Explorer API also provides the convenient visual
org.openide.explorer.ExplorerPanel
class that contains the hooks to talk to an explorer view residing inside it.- An action so the user can display the panel
The basic, non-context-sensitive action class
org.openide.actions.CallableSystemAction
can be subclassed to do this.- A way of filtering out children of nodes we don’t want
We won’t want to see Classes, Methods, and Fields subnodes of Java class files in our explorer view, just the nodes that represent folders or files. We will solve this by subclassing ...
Get NetBeans: The Definitive Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.