public abstract class KeyboardFocusManager extends Object implements KeyEventDispatcher, KeyEventPostProcessor
The KeyboardFocusManager is both a centralized location for client code to query for the focus owner and initiate focus changes, and an event dispatcher for all FocusEvents, WindowEvents related to focus, and KeyEvents.
Some browsers partition applets in different code bases into separate contexts, and establish walls between these contexts. In such a scenario, there will be one KeyboardFocusManager per context. Other browsers place all applets into the same context, implying that there will be only a single, global KeyboardFocusManager for all applets. This behavior is implementation-dependent. Consult your browser's documentation for more information. No matter how many contexts there may be, however, there can never be more than one focus owner, focused Window, or active Window, per ClassLoader.
Please see How to Use the Focus Subsystem, a section in The Java Tutorial, and the Focus Specification for more information.
Window
,
Frame
,
Dialog
,
FocusEvent
,
WindowEvent
,
KeyEvent
Modifier and Type | Field | Description |
---|---|---|
static int |
BACKWARD_TRAVERSAL_KEYS |
The identifier for the Backward focus traversal keys.
|
static int |
DOWN_CYCLE_TRAVERSAL_KEYS |
The identifier for the Down Cycle focus traversal keys.
|
static int |
FORWARD_TRAVERSAL_KEYS |
The identifier for the Forward focus traversal keys.
|
static int |
UP_CYCLE_TRAVERSAL_KEYS |
The identifier for the Up Cycle focus traversal keys.
|
Constructor | Description |
---|---|
KeyboardFocusManager() |
Initializes a KeyboardFocusManager.
|
Modifier and Type | Method | Description |
---|---|---|
void |
addKeyEventDispatcher(KeyEventDispatcher dispatcher) |
Adds a KeyEventDispatcher to this KeyboardFocusManager's dispatcher
chain.
|
void |
addKeyEventPostProcessor(KeyEventPostProcessor processor) |
Adds a KeyEventPostProcessor to this KeyboardFocusManager's post-
processor chain.
|
void |
addPropertyChangeListener(PropertyChangeListener listener) |
Adds a PropertyChangeListener to the listener list.
|
void |
addPropertyChangeListener(String propertyName,
PropertyChangeListener listener) |
Adds a PropertyChangeListener to the listener list for a specific
property.
|
void |
addVetoableChangeListener(String propertyName,
VetoableChangeListener listener) |
Adds a VetoableChangeListener to the listener list for a specific
property.
|
void |
addVetoableChangeListener(VetoableChangeListener listener) |
Adds a VetoableChangeListener to the listener list.
|
void |
clearFocusOwner() |
Clears the focus owner at both the Java and native levels if the
focus owner exists and resides in the same context as the calling thread,
otherwise the method returns silently.
|
void |
clearGlobalFocusOwner() |
Clears the global focus owner at both the Java and native levels.
|
protected abstract void |
dequeueKeyEvents(long after,
Component untilFocused) |
Called by the AWT to notify the KeyboardFocusManager that it should
cancel delayed dispatching of KeyEvents.
|
protected abstract void |
discardKeyEvents(Component comp) |
Called by the AWT to notify the KeyboardFocusManager that it should
cancel delayed dispatching of KeyEvents.
|
abstract boolean |
dispatchEvent(AWTEvent e) |
This method is called by the AWT event dispatcher requesting that the
current KeyboardFocusManager dispatch the specified event on its behalf.
|
abstract boolean |
dispatchKeyEvent(KeyEvent e) |
Typically this method will be called by
dispatchEvent if no
other KeyEventDispatcher in the dispatcher chain dispatched the
KeyEvent, or if no other KeyEventDispatchers are registered. |
void |
downFocusCycle() |
Moves the focus down one focus traversal cycle from the current focus
owner, if and only if the current focus owner is a Container that is a
focus cycle root.
|
abstract void |
downFocusCycle(Container aContainer) |
Moves the focus down one focus traversal cycle.
|
protected abstract void |
enqueueKeyEvents(long after,
Component untilFocused) |
Called by the AWT to notify the KeyboardFocusManager that it should
delay dispatching of KeyEvents until the specified Component becomes
the focus owner.
|
protected void |
firePropertyChange(String propertyName,
Object oldValue,
Object newValue) |
Fires a PropertyChangeEvent in response to a change in a bound property.
|
protected void |
fireVetoableChange(String propertyName,
Object oldValue,
Object newValue) |
Fires a PropertyChangeEvent in response to a change in a vetoable
property.
|
void |
focusNextComponent() |
Focuses the Component after the current focus owner.
|
abstract void |
focusNextComponent(Component aComponent) |
Focuses the Component after aComponent, typically based on a
FocusTraversalPolicy.
|
void |
focusPreviousComponent() |
Focuses the Component before the current focus owner.
|
abstract void |
focusPreviousComponent(Component aComponent) |
Focuses the Component before aComponent, typically based on a
FocusTraversalPolicy.
|
Window |
getActiveWindow() |
Returns the active Window, if the active Window is in the same context
as the calling thread.
|
Container |
getCurrentFocusCycleRoot() |
Returns the current focus cycle root, if the current focus cycle root is
in the same context as the calling thread.
|
static KeyboardFocusManager |
getCurrentKeyboardFocusManager() |
Returns the current KeyboardFocusManager instance for the calling
thread's context.
|
Set<AWTKeyStroke> |
getDefaultFocusTraversalKeys(int id) |
Returns a Set of default focus traversal keys for a given traversal
operation.
|
FocusTraversalPolicy |
getDefaultFocusTraversalPolicy() |
Returns the default FocusTraversalPolicy.
|
Window |
getFocusedWindow() |
Returns the focused Window, if the focused Window is in the same context
as the calling thread.
|
Component |
getFocusOwner() |
Returns the focus owner, if the focus owner is in the same context as
the calling thread.
|
protected Window |
getGlobalActiveWindow() |
Returns the active Window, even if the calling thread is in a different
context than the active Window.
|
protected Container |
getGlobalCurrentFocusCycleRoot() |
Returns the current focus cycle root, even if the calling thread is in a
different context than the current focus cycle root.
|
protected Window |
getGlobalFocusedWindow() |
Returns the focused Window, even if the calling thread is in a different
context than the focused Window.
|
protected Component |
getGlobalFocusOwner() |
Returns the focus owner, even if the calling thread is in a different
context than the focus owner.
|
protected Component |
getGlobalPermanentFocusOwner() |
Returns the permanent focus owner, even if the calling thread is in a
different context than the permanent focus owner.
|
protected List<KeyEventDispatcher> |
getKeyEventDispatchers() |
Returns this KeyboardFocusManager's KeyEventDispatcher chain as a List.
|
protected List<KeyEventPostProcessor> |
getKeyEventPostProcessors() |
Returns this KeyboardFocusManager's KeyEventPostProcessor chain as a
List.
|
Component |
getPermanentFocusOwner() |
Returns the permanent focus owner, if the permanent focus owner is in
the same context as the calling thread.
|
PropertyChangeListener[] |
getPropertyChangeListeners() |
Returns an array of all the property change listeners
registered on this keyboard focus manager.
|
PropertyChangeListener[] |
getPropertyChangeListeners(String propertyName) |
Returns an array of all the
PropertyChangeListener s
associated with the named property. |
VetoableChangeListener[] |
getVetoableChangeListeners() |
Returns an array of all the vetoable change listeners
registered on this keyboard focus manager.
|
VetoableChangeListener[] |
getVetoableChangeListeners(String propertyName) |
Returns an array of all the
VetoableChangeListener s
associated with the named property. |
abstract boolean |
postProcessKeyEvent(KeyEvent e) |
This method will be called by
dispatchKeyEvent . |
abstract void |
processKeyEvent(Component focusedComponent,
KeyEvent e) |
This method initiates a focus traversal operation if and only if the
KeyEvent represents a focus traversal key for the specified
focusedComponent.
|
void |
redispatchEvent(Component target,
AWTEvent e) |
Redispatches an AWTEvent in such a way that the AWT event dispatcher
will not recursively request that the KeyboardFocusManager, or any
installed KeyEventDispatchers, dispatch the event again.
|
void |
removeKeyEventDispatcher(KeyEventDispatcher dispatcher) |
Removes a KeyEventDispatcher which was previously added to this
KeyboardFocusManager's dispatcher chain.
|
void |
removeKeyEventPostProcessor(KeyEventPostProcessor processor) |
Removes a previously added KeyEventPostProcessor from this
KeyboardFocusManager's post-processor chain.
|
void |
removePropertyChangeListener(PropertyChangeListener listener) |
Removes a PropertyChangeListener from the listener list.
|
void |
removePropertyChangeListener(String propertyName,
PropertyChangeListener listener) |
Removes a PropertyChangeListener from the listener list for a specific
property.
|
void |
removeVetoableChangeListener(String propertyName,
VetoableChangeListener listener) |
Removes a VetoableChangeListener from the listener list for a specific
property.
|
void |
removeVetoableChangeListener(VetoableChangeListener listener) |
Removes a VetoableChangeListener from the listener list.
|
static void |
setCurrentKeyboardFocusManager(KeyboardFocusManager newManager) |
Sets the current KeyboardFocusManager instance for the calling thread's
context.
|
void |
setDefaultFocusTraversalKeys(int id,
Set<? extends AWTKeyStroke> keystrokes) |
Sets the default focus traversal keys for a given traversal operation.
|
void |
setDefaultFocusTraversalPolicy(FocusTraversalPolicy defaultPolicy) |
Sets the default FocusTraversalPolicy.
|
protected void |
setGlobalActiveWindow(Window activeWindow) |
Sets the active Window.
|
void |
setGlobalCurrentFocusCycleRoot(Container newFocusCycleRoot) |
Sets the current focus cycle root.
|
protected void |
setGlobalFocusedWindow(Window focusedWindow) |
Sets the focused Window.
|
protected void |
setGlobalFocusOwner(Component focusOwner) |
Sets the focus owner.
|
protected void |
setGlobalPermanentFocusOwner(Component permanentFocusOwner) |
Sets the permanent focus owner.
|
void |
upFocusCycle() |
Moves the focus up one focus traversal cycle from the current focus
owner.
|
abstract void |
upFocusCycle(Component aComponent) |
Moves the focus up one focus traversal cycle.
|
public static final int FORWARD_TRAVERSAL_KEYS
public static final int BACKWARD_TRAVERSAL_KEYS
public static final int UP_CYCLE_TRAVERSAL_KEYS
public static final int DOWN_CYCLE_TRAVERSAL_KEYS
public KeyboardFocusManager()
public static KeyboardFocusManager getCurrentKeyboardFocusManager()
setCurrentKeyboardFocusManager(java.awt.KeyboardFocusManager)
public static void setCurrentKeyboardFocusManager(KeyboardFocusManager newManager) throws SecurityException
If a SecurityManager is installed, the calling thread must be granted the AWTPermission "replaceKeyboardFocusManager" in order to replace the the current KeyboardFocusManager. If this permission is not granted, this method will throw a SecurityException, and the current KeyboardFocusManager will be unchanged.
newManager
- the new KeyboardFocusManager for this thread's contextSecurityException
- if the calling thread does not have permission
to replace the current KeyboardFocusManagergetCurrentKeyboardFocusManager()
,
DefaultKeyboardFocusManager
public Component getFocusOwner()
getGlobalFocusOwner()
,
setGlobalFocusOwner(java.awt.Component)
protected Component getGlobalFocusOwner() throws SecurityException
This method will throw a SecurityException if this KeyboardFocusManager is not the current KeyboardFocusManager for the calling thread's context.
SecurityException
- if this KeyboardFocusManager is not the
current KeyboardFocusManager for the calling thread's context
and if the calling thread does not have "replaceKeyboardFocusManager"
permissiongetFocusOwner()
,
setGlobalFocusOwner(java.awt.Component)
protected void setGlobalFocusOwner(Component focusOwner) throws SecurityException
This method does not actually set the focus to the specified Component.
It merely stores the value to be subsequently returned by
getFocusOwner()
. Use Component.requestFocus()
or Component.requestFocusInWindow()
to change the focus
owner, subject to platform limitations.
focusOwner
- the focus ownerSecurityException
- if this KeyboardFocusManager is not the
current KeyboardFocusManager for the calling thread's context
and if the calling thread does not have "replaceKeyboardFocusManager"
permissiongetFocusOwner()
,
getGlobalFocusOwner()
,
Component.requestFocus()
,
Component.requestFocusInWindow()
,
Component.isFocusable()
public void clearFocusOwner()
The focus owner component will receive a permanent FOCUS_LOST event.
After this operation completes, the native windowing system will discard
all user-generated KeyEvents until the user selects a new Component to
receive focus, or a Component is given focus explicitly via a call to
requestFocus()
. This operation does not change the focused or
active Windows.
Component.requestFocus()
,
FocusEvent.FOCUS_LOST
public void clearGlobalFocusOwner() throws SecurityException
requestFocus()
. This operation
does not change the focused or active Windows.
If a SecurityManager is installed, the calling thread must be granted the "replaceKeyboardFocusManager" AWTPermission. If this permission is not granted, this method will throw a SecurityException, and the current focus owner will not be cleared.
This method is intended to be used only by KeyboardFocusManager set as current KeyboardFocusManager for the calling thread's context. It is not for general client use.
SecurityException
- if the calling thread does not have
"replaceKeyboardFocusManager" permissionclearFocusOwner()
,
Component.requestFocus()
,
FocusEvent.FOCUS_LOST
public Component getPermanentFocusOwner()
getGlobalPermanentFocusOwner()
,
setGlobalPermanentFocusOwner(java.awt.Component)
protected Component getGlobalPermanentFocusOwner() throws SecurityException
SecurityException
- if this KeyboardFocusManager is not the
current KeyboardFocusManager for the calling thread's context
and if the calling thread does not have "replaceKeyboardFocusManager"
permissiongetPermanentFocusOwner()
,
setGlobalPermanentFocusOwner(java.awt.Component)
protected void setGlobalPermanentFocusOwner(Component permanentFocusOwner) throws SecurityException
This method does not actually set the focus to the specified Component.
It merely stores the value to be subsequently returned by
getPermanentFocusOwner()
. Use
Component.requestFocus()
or
Component.requestFocusInWindow()
to change the focus owner,
subject to platform limitations.
permanentFocusOwner
- the permanent focus ownerSecurityException
- if this KeyboardFocusManager is not the
current KeyboardFocusManager for the calling thread's context
and if the calling thread does not have "replaceKeyboardFocusManager"
permissiongetPermanentFocusOwner()
,
getGlobalPermanentFocusOwner()
,
Component.requestFocus()
,
Component.requestFocusInWindow()
,
Component.isFocusable()
public Window getFocusedWindow()
getGlobalFocusedWindow()
,
setGlobalFocusedWindow(java.awt.Window)
protected Window getGlobalFocusedWindow() throws SecurityException
SecurityException
- if this KeyboardFocusManager is not the
current KeyboardFocusManager for the calling thread's context
and if the calling thread does not have "replaceKeyboardFocusManager"
permissiongetFocusedWindow()
,
setGlobalFocusedWindow(java.awt.Window)
protected void setGlobalFocusedWindow(Window focusedWindow) throws SecurityException
This method does not actually change the focused Window as far as the
native windowing system is concerned. It merely stores the value to be
subsequently returned by getFocusedWindow()
. Use
Component.requestFocus()
or
Component.requestFocusInWindow()
to change the focused
Window, subject to platform limitations.
focusedWindow
- the focused WindowSecurityException
- if this KeyboardFocusManager is not the
current KeyboardFocusManager for the calling thread's context
and if the calling thread does not have "replaceKeyboardFocusManager"
permissiongetFocusedWindow()
,
getGlobalFocusedWindow()
,
Component.requestFocus()
,
Component.requestFocusInWindow()
,
Window.isFocusableWindow()
public Window getActiveWindow()
getGlobalActiveWindow()
,
setGlobalActiveWindow(java.awt.Window)
protected Window getGlobalActiveWindow() throws SecurityException
SecurityException
- if this KeyboardFocusManager is not the
current KeyboardFocusManager for the calling thread's context
and if the calling thread does not have "replaceKeyboardFocusManager"
permissiongetActiveWindow()
,
setGlobalActiveWindow(java.awt.Window)
protected void setGlobalActiveWindow(Window activeWindow) throws SecurityException
This method does not actually change the active Window as far as the
native windowing system is concerned. It merely stores the value to be
subsequently returned by getActiveWindow()
. Use
Component.requestFocus()
or
Component.requestFocusInWindow()
to change the active
Window, subject to platform limitations.
activeWindow
- the active WindowSecurityException
- if this KeyboardFocusManager is not the
current KeyboardFocusManager for the calling thread's context
and if the calling thread does not have "replaceKeyboardFocusManager"
permissiongetActiveWindow()
,
getGlobalActiveWindow()
,
Component.requestFocus()
,
Component.requestFocusInWindow()
public FocusTraversalPolicy getDefaultFocusTraversalPolicy()
setDefaultFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
Container.getFocusTraversalPolicy()
public void setDefaultFocusTraversalPolicy(FocusTraversalPolicy defaultPolicy)
defaultPolicy
- the new, default FocusTraversalPolicyIllegalArgumentException
- if defaultPolicy is nullgetDefaultFocusTraversalPolicy()
,
Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
Container.getFocusTraversalPolicy()
public void setDefaultFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
Set
will be in effect on all
Window
s that have no such Set
of
their own explicitly defined. This Set
will also be
inherited, recursively, by any child Component
of
those Windows
that has
no such Set
of its own explicitly defined.
The default values for the default focus traversal keys are implementation-dependent. Sun recommends that all implementations for a particular native platform use the same default values. The recommendations for Windows and Unix are listed below. These recommendations are used in the Sun AWT implementations.
Identifier | Meaning | Default |
---|---|---|
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS |
Normal forward keyboard traversal | TAB on KEY_PRESSED ,
CTRL-TAB on KEY_PRESSED |
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS |
Normal reverse keyboard traversal | SHIFT-TAB on KEY_PRESSED ,
CTRL-SHIFT-TAB on KEY_PRESSED |
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS |
Go up one focus traversal cycle | none |
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS |
Go down one focus traversal cycle | none |
Set
;
Collections.EMPTY_SET
is recommended.
Using the AWTKeyStroke
API, client code can
specify on which of two
specific KeyEvent
s, KEY_PRESSED
or
KEY_RELEASED
, the focus traversal operation will
occur. Regardless of which KeyEvent
is specified,
however, all KeyEvent
s related to the focus
traversal key, including the associated KEY_TYPED
event, will be consumed, and will not be dispatched
to any Component
. It is a runtime error to
specify a KEY_TYPED
event as
mapping to a focus traversal operation, or to map the same event to
multiple default focus traversal operations.
This method may throw a ClassCastException
if any Object
in keystrokes
is not an AWTKeyStroke
.
id
- one of
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
, or
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
keystrokes
- the Set of AWTKeyStroke
s for the
specified operationIllegalArgumentException
- if id is not one of
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
, or
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
,
or if keystrokes is null
,
or if keystrokes contains null
,
or if any keystroke
represents a KEY_TYPED
event,
or if any keystroke already maps
to another default focus traversal operationgetDefaultFocusTraversalKeys(int)
,
Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
,
Component.getFocusTraversalKeys(int)
public Set<AWTKeyStroke> getDefaultFocusTraversalKeys(int id)
setDefaultFocusTraversalKeys
for a full description of each
operation.)id
- one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSSet
of AWTKeyStroke
s
for the specified operation; the Set
will be unmodifiable, and may be empty; null
will never be returnedIllegalArgumentException
- if id is not one of
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSsetDefaultFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
,
Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
,
Component.getFocusTraversalKeys(int)
public Container getCurrentFocusCycleRoot()
This method is intended to be used only by KeyboardFocusManagers and focus implementations. It is not for general client use.
getGlobalCurrentFocusCycleRoot()
,
setGlobalCurrentFocusCycleRoot(java.awt.Container)
protected Container getGlobalCurrentFocusCycleRoot() throws SecurityException
SecurityException
- if this KeyboardFocusManager is not the
current KeyboardFocusManager for the calling thread's context
and if the calling thread does not have "replaceKeyboardFocusManager"
permissiongetCurrentFocusCycleRoot()
,
setGlobalCurrentFocusCycleRoot(java.awt.Container)
public void setGlobalCurrentFocusCycleRoot(Container newFocusCycleRoot) throws SecurityException
If a SecurityManager is installed, the calling thread must be granted the "replaceKeyboardFocusManager" AWTPermission. If this permission is not granted, this method will throw a SecurityException, and the current focus cycle root will not be changed.
This method is intended to be used only by KeyboardFocusManagers and focus implementations. It is not for general client use.
newFocusCycleRoot
- the new focus cycle rootSecurityException
- if the calling thread does not have
"replaceKeyboardFocusManager" permissiongetCurrentFocusCycleRoot()
,
getGlobalCurrentFocusCycleRoot()
public void addPropertyChangeListener(PropertyChangeListener listener)
listener
- the PropertyChangeListener to be addedremovePropertyChangeListener(java.beans.PropertyChangeListener)
,
getPropertyChangeListeners()
,
addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
public void removePropertyChangeListener(PropertyChangeListener listener)
If listener is null, no exception is thrown and no action is performed.
listener
- the PropertyChangeListener to be removedaddPropertyChangeListener(java.beans.PropertyChangeListener)
,
getPropertyChangeListeners()
,
removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
public PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener
s
or an empty array if no property change
listeners are currently registeredaddPropertyChangeListener(java.beans.PropertyChangeListener)
,
removePropertyChangeListener(java.beans.PropertyChangeListener)
,
getPropertyChangeListeners(java.lang.String)
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
propertyName
- one of the property names listed abovelistener
- the PropertyChangeListener to be addedaddPropertyChangeListener(java.beans.PropertyChangeListener)
,
removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
,
getPropertyChangeListeners(java.lang.String)
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
If listener is null, no exception is thrown and no action is performed.
propertyName
- a valid property namelistener
- the PropertyChangeListener to be removedaddPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
,
getPropertyChangeListeners(java.lang.String)
,
removePropertyChangeListener(java.beans.PropertyChangeListener)
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
PropertyChangeListener
s
associated with the named property.PropertyChangeListener
s associated with
the named property or an empty array if no such listeners have
been added.addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
,
removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
propertyName
- the name of the property that has changedoldValue
- the property's previous valuenewValue
- the property's new valuepublic void addVetoableChangeListener(VetoableChangeListener listener)
listener
- the VetoableChangeListener to be addedremoveVetoableChangeListener(java.beans.VetoableChangeListener)
,
getVetoableChangeListeners()
,
addVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)
public void removeVetoableChangeListener(VetoableChangeListener listener)
If listener is null, no exception is thrown and no action is performed.
listener
- the VetoableChangeListener to be removedaddVetoableChangeListener(java.beans.VetoableChangeListener)
,
getVetoableChangeListeners()
,
removeVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)
public VetoableChangeListener[] getVetoableChangeListeners()
VetoableChangeListener
s
or an empty array if no vetoable change
listeners are currently registeredaddVetoableChangeListener(java.beans.VetoableChangeListener)
,
removeVetoableChangeListener(java.beans.VetoableChangeListener)
,
getVetoableChangeListeners(java.lang.String)
public void addVetoableChangeListener(