NetBeans: The Definitive Guide
by Tim Boudreau, Jesse Glick, Simeon Greene, Vaughn Spurlin, Jack J. Woehr
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.ExplorerPanelclass 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.CallableSystemActioncan 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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access