public class ClassPackageBrowserV2 extends javax.swing.JPanel implements ClassPackageBrowserContext, java.awt.event.ItemListener
ClassPackageBrowserV2
provides a tree-based UI for the selecting of classes and or packages from a Project's classpath and sourcepath.javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
static int |
CLASS_AND_PACKAGE
Mode for selecting classes and packages.
|
static int |
CLASS_ONLY
Mode for selecting only classes.
|
static java.lang.String |
CLASS_PACKAGE_TITLE
Title for the Class/Package browser dialog.
|
static java.lang.String |
CLASS_TITLE
Title for the Class Browser dialog.
|
protected JWrappedLabel |
descriptiveText |
static int |
PACKAGE_ONLY
Mode for selecting only packages.
|
static java.lang.String |
PACKAGE_TITLE
Title for the Package Browser dialog.
|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
ClassPackageBrowserV2()
Constructs a new instance.
|
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
_getTitle() |
void |
addActionListener(java.awt.event.ActionListener listener) |
void |
addFilters(ClassPackageBrowserFilterV2[] filters)
Makes the supplied filters as well as the default filter available to the user for use in filtering which items are to be displayed.
|
void |
addNotify() |
static java.lang.String |
browseClassOrPackage(java.awt.Component parent, Project proj, int mode)
Browses for a single class or package.
|
static java.lang.String[] |
browseClassOrPackage(java.awt.Component parent, Project proj, int mode, boolean isMultiSelect)
Browses for one or more classes or packages.
|
static java.lang.String[] |
browseClassOrPackage(java.awt.Component parent, Project proj, int mode, boolean isMultiSelect, ClassPackageBrowserFilterV2 filter)
Browses for one or more classes or packages.
|
static java.lang.String[] |
browseClassOrPackage(java.awt.Component parent, Project proj, int mode, boolean isMultiSelect, ClassPackageBrowserFilterV2 filter, java.lang.String initialSelection)
Browses for one or more classes or packages.
|
static java.lang.String |
browseClassOrPackage(java.awt.Component parent, Project proj, int mode, ClassPackageBrowserFilterV2 filter)
Browses for a single class or package.
|
static java.lang.String[] |
browseClassOrPackage(java.awt.Component parent, Project proj, int mode, int needs, boolean isMultiSelect, ClassPackageBrowserFilterV2 filter)
Deprecated.
The
needs parameter is obsolete. |
static java.lang.String[] |
browseClassOrPackage(java.awt.Component parent, Project proj, int mode, int needs, boolean isMultiSelect, ClassPackageBrowserFilterV2 filter, java.lang.String[] initialSelection)
Deprecated.
The
needs and initialSelection parameters are obsolete. |
java.lang.String |
browseClassOrPackage(JavaManager mgr, int mode)
Browses for a single class or package.
|
java.lang.String[] |
browseClassOrPackage(JavaManager mgr, int mode, boolean isMultiSelect)
Browses for one or more class or package.
|
java.lang.String[] |
browseClassOrPackage(JavaManager mgr, int mode, boolean isMultiSelect, ClassPackageBrowserFilter2V2[] filters, java.lang.String initialSelection)
Browses for one or more class or package.
|
java.lang.String[] |
browseClassOrPackage(JavaManager mgr, int mode, boolean isMultiSelect, ClassPackageBrowserFilterV2 filter)
Browses for one or more class or package.
|
java.lang.String[] |
browseClassOrPackage(JavaManager mgr, int mode, boolean isMultiSelect, ClassPackageBrowserFilterV2 filter, java.lang.String initialSelection)
Browses for one or more class or package.
|
java.lang.String |
browseClassOrPackage(JavaManager mgr, int mode, ClassPackageBrowserFilterV2 filter)
Browses for a single class or package.
|
void |
classPackageSelected()
Called to indicate that an action was invoked on the selection.
|
void |
enableControls(boolean enable)
Called to indicate the dialogs controls should be enabled or disabled based on selection changes in the active class/package view.
|
ClassPackageBrowserFilterV2 |
getFilter()
Get the active ClassPackageBrowserFilter.
|
java.awt.Component |
getInitialFocusComponent()
Gets the component that should have initial focus on this panel.
|
java.lang.String[] |
getSelectedItems()
Retrieves the selected packages and/or classes.
|
java.lang.String |
getSelection()
Retrieves the single selected package or class depending on the selection mode
PACKAGE_ONLY , CLASS_ONLY , or CLASS_AND_PACKAGE . |
void |
initializeDialog(java.lang.String defaultSelection)
Initializes the dialog state.
|
void |
initializeDialog(java.lang.String[] defaultSelection)
Initializes the selection in the dialog tabs.
|
void |
itemStateChanged(java.awt.event.ItemEvent e)
Fired when the user chooses a different filter.
|
void |
removeActionListener(java.awt.event.ActionListener listener) |
void |
removeNotify() |
void |
requestFocus() |
void |
setFilter(ClassPackageBrowserFilterV2 filter)
Sets the one and only filter to use for determining what packages and classes are acceptible.
|
void |
setFilters(ClassPackageBrowserFilterV2[] filters)
Set an array of filters to be made available to the user for use in filtering which items are to be displayed.
|
void |
setHostParent(java.awt.Component hostParent)
Sets the parent Component from which for this ClassPackageBrowserV2 is launched.
|
void |
setInitialInterfaceFilter(java.lang.String className)
This method sets the filter that will cause browser to not display any interfaces that are specified in implements clause of the className definition.
|
void |
setJavaManager(JavaManager mgr)
Sets the
JavaManager instance to be used by this ClassPackageBrowserV2. |
void |
setMode(int mode)
Sets the mode for this ClassPackageBrowserV2.
|
void |
setMultiSelect(boolean isMultiSelect)
Specifies whether this ClassPackageBrowserV2 should allow multiple packages and classes to be selected.
|
void |
setSelectedItems(java.lang.String[] multipleSelection)
Deprecated.
|
void |
setSelection(java.lang.String selection)
Deprecated.
|
void |
setTitle(java.lang.String title)
Sets the title to use for the dialog.
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
protected JWrappedLabel descriptiveText
public static final int PACKAGE_ONLY
public static final int CLASS_ONLY
public static final int CLASS_AND_PACKAGE
public static final java.lang.String PACKAGE_TITLE
public static final java.lang.String CLASS_TITLE
public static final java.lang.String CLASS_PACKAGE_TITLE
public void initializeDialog(java.lang.String[] defaultSelection)
Note: This method is only intended to initialize the dialog state, it does not guarantee that getSelection()
or getSelectedItems()
will return the supplied initial selection. Both of these methods return either the resolved value, or null or an empty array, respectively, if the resolution has not completed or the search criteria resulted in no matching items.
defaultSelection
- the initial selectioninitializeDialog(String)
public void initializeDialog(java.lang.String defaultSelection)
Note: This method is only intended to initialize the dialog state, it does not guarantee that getSelection()
or getSelectedItems()
will return the supplied initial selection. Both of these methods return either the resolved value, or null or an empty array, respectively, if the resolution has not completed or the search criteria resulted in no matching items.
defaultSelection
- the initial search textinitializeDialog(String[])
public void setInitialInterfaceFilter(java.lang.String className)
className
- The name of the class for which to filter out implemented interfaces. If null or empty string, this removes any current active filters.public void setSelection(java.lang.String selection)
initializeDialog(String)
public void setSelectedItems(java.lang.String[] multipleSelection)
initializeDialog(String[])
public java.lang.String getSelection()
PACKAGE_ONLY
, CLASS_ONLY
, or CLASS_AND_PACKAGE
.public java.lang.String[] getSelectedItems()
public void setJavaManager(JavaManager mgr)
JavaManager
instance to be used by this ClassPackageBrowserV2.mgr
- the JavaManager instance to use to located the classes and packages the JavaManager instancepublic void setMode(int mode)
mode
- the ClassPackageBrowserV2 mode, class, package or classes and packagesPACKAGE_ONLY
, CLASS_ONLY
, CLASS_AND_PACKAGE
public void setHostParent(java.awt.Component hostParent)
hostParent
- the parent from which this ClassPackageBrowserV2 is launchedpublic java.awt.Component getInitialFocusComponent()
public void setTitle(java.lang.String title)
title
- the title to display for the dialogpublic ClassPackageBrowserFilterV2 getFilter()
public void setFilter(ClassPackageBrowserFilterV2 filter)
filter
- the ClassPackageBrowserFilter to use to filter the displayed classes and packages. Use null
to use the default filterpublic void setFilters(ClassPackageBrowserFilterV2[] filters)
filters
is null
or the array is epmty the default filter is used.
The filters are expected to be set prior to showing the GUI.
filters
- the ClassPackageBrowserFilter instances to offer the usersetFilter( ClassPackageBrowserFilterV2 )
public void addFilters(ClassPackageBrowserFilterV2[] filters)
filters
is null
or the array is epmty, only the default filter is available.
The filters are expected to be set prior to showing the GUI.
filters
- the ClassPackageBrowserFilter instances to offer the userpublic void setMultiSelect(boolean isMultiSelect)
isMultiSelect
- whether this ClassPackageBrowserV2 supports multi-selectionpublic void classPackageSelected()
ClassPackageBrowserContext
classPackageSelected
in interface ClassPackageBrowserContext
public void enableControls(boolean enable)
ClassPackageBrowserContext
enableControls
in interface ClassPackageBrowserContext
public void itemStateChanged(java.awt.event.ItemEvent e)
itemStateChanged
in interface java.awt.event.ItemListener
e
- the eventpublic java.lang.String browseClassOrPackage(JavaManager mgr, int mode)
mgr
- the JavaManager instance to use to located the classes and packagesmode
- the ClassPackageBrowserV2 mode, class, package or classes and packagesnull
if nothing was selectedPACKAGE_ONLY
, CLASS_ONLY
, CLASS_AND_PACKAGE
public java.lang.String browseClassOrPackage(JavaManager mgr, int mode, ClassPackageBrowserFilterV2 filter)
mgr
- the JavaManager instance to use to located the classes and packagesmode
- the ClassPackageBrowserV2 mode, class, package or classes and packagesfilter
- the ClassPackageBrowserFilter to use to filter the displayed packages and classesnull
if nothing was selectedPACKAGE_ONLY
, CLASS_ONLY
, CLASS_AND_PACKAGE
public java.lang.String[] browseClassOrPackage(JavaManager mgr, int mode, boolean isMultiSelect)
mgr
- the JavaManager instance to use to located the classes and packagesmode
- the ClassPackageBrowserV2 mode, class, package or classes and packagesisMultiSelect
- whether this ClassPackageBrowserV2 supports multi-selectionnull
if nothing was selectedPACKAGE_ONLY
, CLASS_ONLY
, CLASS_AND_PACKAGE
public java.lang.String[] browseClassOrPackage(JavaManager mgr, int mode, boolean isMultiSelect, ClassPackageBrowserFilterV2 filter)
mgr
- the JavaManager instance to use to located the classes and packagesmode
- the ClassPackageBrowserV2 mode, class, package or classes and packagesisMultiSelect
- whether this ClassPackageBrowserV2 supports multi-selectionfilter
- the ClassPackageBrowserFilter to use to filter the displayed packages and classesnull
if nothing was selectedPACKAGE_ONLY
, CLASS_ONLY
, CLASS_AND_PACKAGE
public java.lang.String[] browseClassOrPackage(JavaManager mgr, int mode, boolean isMultiSelect, ClassPackageBrowserFilterV2 filter, java.lang.String initialSelection)
null,
the default include-all fitler is used.mgr
- the JavaManager instance to use to located the classes and packagesmode
- the ClassPackageBrowserV2 mode, class, package or classes and packagesisMultiSelect
- whether this ClassPackageBrowserV2 supports multi-selectionfilter
- the ClassPackageBrowserFilter to use to filter the displayed packages and classesinitialSelection
- the initially selected class or packagenull
if nothing was selectedPACKAGE_ONLY
, CLASS_ONLY
, CLASS_AND_PACKAGE
public java.lang.String[] browseClassOrPackage(JavaManager mgr, int mode, boolean isMultiSelect, ClassPackageBrowserFilter2V2[] filters, java.lang.String initialSelection)
mgr
- the JavaManager instance to use to located the classes and packagesmode
- the ClassPackageBrowserV2 mode, class, package or classes and packagesisMultiSelect
- whether this ClassPackageBrowserV2 supports multi-selectionfilters
- the additional ClassPackageBrowserFilter2V2s to make available in the UI for filtering packages and classes, in addition to the default (include all) filterinitialSelection
- the initially selected classes or packagesnull
if nothing was selectedPACKAGE_ONLY
, CLASS_ONLY
, CLASS_AND_PACKAGE
public static java.lang.String browseClassOrPackage(java.awt.Component parent, Project proj, int mode)
parent
- the parent component for the ClassPackageBrowserV2 dialogproj
- the Project to use to find packages and classesmode
- the ClassPackageBrowserV2 mode, class, package or classes and packagesnull
if nothing was selectedPACKAGE_ONLY
, CLASS_ONLY
, CLASS_AND_PACKAGE
public static java.lang.String browseClassOrPackage(java.awt.Component parent, Project proj, int mode, ClassPackageBrowserFilterV2 filter)
parent
- the parent component for the ClassPackageBrowserV2 dialogproj
- the Project to use to find packages and classesmode
- the ClassPackageBrowserV2 mode, class, package or classes and packagesfilter
- the ClassPackageBrowserFilter to use to filter the displayed packages and classesnull
if nothing was selectedPACKAGE_ONLY
, CLASS_ONLY
, CLASS_AND_PACKAGE
public static java.lang.String[] browseClassOrPackage(java.awt.Component parent, Project proj, int mode, boolean isMultiSelect)
parent
- the parent component for the ClassPackageBrowserV2 dialogproj
- the Project to use to find packages and classesmode
- the ClassPackageBrowserV2 mode, class, package or classes and packagesisMultiSelect
- whether this ClassPackageBrowserV2 supports multi-selectionnull
if nothing was selectedPACKAGE_ONLY
, CLASS_ONLY
, CLASS_AND_PACKAGE
public static java.lang.String[] browseClassOrPackage(java.awt.Component parent, Project proj, int mode, boolean isMultiSelect, ClassPackageBrowserFilterV2 filter)
parent
- the parent component for the ClassPackageBrowserV2 dialogproj
- the Project to use to find packages and classesmode
- the ClassPackageBrowserV2 mode, class, package or classes and packagesisMultiSelect
- whether this ClassPackageBrowserV2 supports multi-selectionfilter
- the ClassPackageBrowserFilter to use to filter the displayed packages and classesnull
if nothing was selectedPACKAGE_ONLY
, CLASS_ONLY
, CLASS_AND_PACKAGE
public static java.lang.String[] browseClassOrPackage(java.awt.Component parent, Project proj, int mode, boolean isMultiSelect, ClassPackageBrowserFilterV2 filter, java.lang.String initialSelection)
parent
- the parent component for the ClassPackageBrowserV2 dialogproj
- the Project to use to find packages and classesmode
- the ClassPackageBrowserV2 mode, class, package or classes and packagesisMultiSelect
- whether this ClassPackageBrowserV2 supports multi-selectionfilter
- the ClassPackageBrowserFilter to use to filter the displayed packages and classesinitialSelection
- the initially selected class or packagenull
if nothing was selectedPACKAGE_ONLY
, CLASS_ONLY
, CLASS_AND_PACKAGE
protected java.lang.String _getTitle()
public void addNotify()
addNotify
in class javax.swing.JComponent
public void removeNotify()
removeNotify
in class javax.swing.JComponent
public void requestFocus()
requestFocus
in class javax.swing.JComponent
public void addActionListener(java.awt.event.ActionListener listener)
public void removeActionListener(java.awt.event.ActionListener listener)
public static java.lang.String[] browseClassOrPackage(java.awt.Component parent, Project proj, int mode, int needs, boolean isMultiSelect, ClassPackageBrowserFilterV2 filter)
needs
parameter is obsolete.public static java.lang.String[] browseClassOrPackage(java.awt.Component parent, Project proj, int mode, int needs, boolean isMultiSelect, ClassPackageBrowserFilterV2 filter, java.lang.String[] initialSelection)
needs
and initialSelection
parameters are obsolete.