public abstract class KeyboardFocusManager extends Object implements KeyEventDispatcher, KeyEventPostProcessor
这是一个集中的位置keyboardfocusmanager客户端代码查询焦点所有者和启动的重点变化,和事件调度所有focusevents,相关重点windowevents,和关键场次。
一些浏览器的分区程序在不同的代码库为独立的语境,这些语境的墙壁之间建立。在这样的情况下,会有每一keyboardfocusmanager语境。其他浏览器将所有程序在相同的情况下,这意味着将只有一个单一的,所有应用程序的全球keyboardfocusmanager。这种行为是依赖于实现的。请咨询您的浏览器的文档以了解更多信息。不管如何,很多情况下可能会有,但是,不可能有超过一个的焦点所有者,聚焦窗口或活动窗口,每类加载器。
请看 How to Use the Focus Subsystem,java教程中的一部分,和更多的信息Focus Specification。
Window
,
Frame
,
Dialog
,
FocusEvent
,
WindowEvent
,
KeyEvent
Modifier and Type | Field and Description |
---|---|
static int |
BACKWARD_TRAVERSAL_KEYS
向后焦点遍历键的标识符。
|
static int |
DOWN_CYCLE_TRAVERSAL_KEYS
向下循环焦点遍历键的标识符。
|
static int |
FORWARD_TRAVERSAL_KEYS
前向焦点遍历键的标识符。
|
static int |
UP_CYCLE_TRAVERSAL_KEYS
上周期焦点遍历键的标识符。
|
Constructor and Description |
---|
KeyboardFocusManager()
初始化一个keyboardfocusmanager。
|
Modifier and Type | Method and Description |
---|---|
void |
addKeyEventDispatcher(KeyEventDispatcher dispatcher)
增加了一个keyeventdispatcher这keyboardfocusmanager的调度链。
|
void |
addKeyEventPostProcessor(KeyEventPostProcessor processor)
增加了一个keyeventpostprocessor这keyboardfocusmanager的后处理器链。
|
void |
addPropertyChangeListener(PropertyChangeListener listener)
增加了一个propertychangelistener的监听器列表。
|
void |
addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
增加了一个propertychangelistener为特定财产的监听器列表。
|
void |
addVetoableChangeListener(String propertyName, VetoableChangeListener listener)
增加了一个vetoablechangelistener为特定财产的监听器列表。
|
void |
addVetoableChangeListener(VetoableChangeListener listener)
增加了一个vetoablechangelistener的监听器列表。
|
void |
clearFocusOwner()
清除焦点所有者的java和母语水平如果焦点所有者存在并驻留在相同的上下文中调用线程,否则该方法返回默默。
|
void |
clearGlobalFocusOwner()
清除全球焦点所有者的java和母语水平。
|
protected abstract void |
dequeueKeyEvents(long after, Component untilFocused)
由AWT打电话通知keyboardfocusmanager应该取消延迟调度关键场次。
|
protected abstract void |
discardKeyEvents(Component comp)
由AWT打电话通知keyboardfocusmanager应该取消延迟调度关键场次。
|
abstract boolean |
dispatchEvent(AWTEvent e)
这种方法被称为awt事件调度请求,目前keyboardfocusmanager调度指定事件的代表。
|
abstract boolean |
dispatchKeyEvent(KeyEvent e)
通常这种方法将被
dispatchEvent 如果在调度链keyeventdispatcher keyEvent没有出动,或者如果没有其他keyeventdispatchers注册。
|
void |
downFocusCycle()
移动焦点从当前焦点所有者的一个焦点遍历周期中移动,如果并且仅当当前焦点所有者是一个容器,则是一个聚焦周期根。
|
abstract void |
downFocusCycle(Container aContainer)
移动焦点下移一个焦点遍历周期。
|
protected abstract void |
enqueueKeyEvents(long after, Component untilFocused)
由AWT通知keyboardfocusmanager应该延迟调度关键场次到指定的组件成为焦点的主人。
|
protected void |
firePropertyChange(String propertyName, Object oldValue, Object newValue)
在绑定属性改变PropertyChangeEvent火灾。
|
protected void |
fireVetoableChange(String propertyName, Object oldValue, Object newValue)
在vetoable属性改变PropertyChangeEvent火灾。
|
void |
focusNextComponent()
聚焦当前焦点所有者之后的组件。
|
abstract void |
focusNextComponent(Component aComponent)
主要的组件后,组件,通常是基于一个focustraversalpolicy。
|
void |
focusPreviousComponent()
聚焦当前焦点所有者之前的组件。
|
abstract void |
focusPreviousComponent(Component aComponent)
主要的组件在组件,通常是基于一个focustraversalpolicy。
|
Window |
getActiveWindow()
如果在与调用线程相同的上下文中,则返回活动窗口,如果活动窗口处于同一个上下文中。
|
Container |
getCurrentFocusCycleRoot()
返回当前的焦点循环根,如果当前的焦点循环根在与调用线程相同的上下文中。
|
static KeyboardFocusManager |
getCurrentKeyboardFocusManager()
返回调用线程的上下文的当前keyboardfocusmanager实例。
|
Set<AWTKeyStroke> |
getDefaultFocusTraversalKeys(int id)
返回一个给定的遍历操作的默认焦点遍历键。
|
FocusTraversalPolicy |
getDefaultFocusTraversalPolicy()
返回默认FocusTraversalPolicy。
|
Window |
getFocusedWindow()
返回聚焦窗口,如果聚焦窗口在与调用线程相同的上下文中。
|
Component |
getFocusOwner()
返回焦点所有者,如果焦点所有者在与调用线程相同的上下文中。
|
protected Window |
getGlobalActiveWindow()
返回活动窗口,即使调用线程在不同的上下文中,也不返回活动窗口。
|
protected Container |
getGlobalCurrentFocusCycleRoot()
返回当前的焦点循环根,即使调用线程在不同的上下文中比当前的焦点循环根。
|
protected Window |
getGlobalFocusedWindow()
返回聚焦窗口,即使调用线程在一个不同的上下文中比聚焦窗口。
|
protected Component |
getGlobalFocusOwner()
返回焦点所有者,即使调用线程在不同的上下文中比焦点所有者。
|
protected Component |
getGlobalPermanentFocusOwner()
返回永久焦点所有者,即使调用线程在不同的上下文中,而不是永久焦点所有者。
|
protected List<KeyEventDispatcher> |
getKeyEventDispatchers()
作为一个列表返回此keyboardfocusmanager的keyeventdispatcher链。
|
protected List<KeyEventPostProcessor> |
getKeyEventPostProcessors()
作为一个列表返回此keyboardfocusmanager的keyeventpostprocessor链。
|
Component |
getPermanentFocusOwner()
返回永久焦点所有者,如果永久焦点所有者在与调用线程相同的上下文中。
|
PropertyChangeListener[] |
getPropertyChangeListeners()
返回在这个键盘焦点管理器上注册的所有属性更改侦听器的数组。
|
PropertyChangeListener[] |
getPropertyChangeListeners(String propertyName)
返回所有的
PropertyChangeListener s与命名属性关联数组。
|
VetoableChangeListener[] |
getVetoableChangeListeners()
返回所有的vetoable改变监听器在键盘焦点经理注册一个数组。
|
VetoableChangeListener[] |
getVetoableChangeListeners(String propertyName)
返回所有的
VetoableChangeListener s与命名属性关联数组。
|
abstract boolean |
postProcessKeyEvent(KeyEvent e)
该方法将被
dispatchKeyEvent 。
|
abstract void |
processKeyEvent(Component focusedComponent, KeyEvent e)
此方法启动一个焦点遍历操作keyEvent表示当且仅当一个指定的focusedcomponent焦点遍历关键。
|
void |
redispatchEvent(Component target, AWTEvent e)
重新分派在这样一种方式,awt事件调度不递归请求,keyboardfocusmanager一awtevent,或安装任何keyeventdispatchers,调度事件再次。
|
void |
removeKeyEventDispatcher(KeyEventDispatcher dispatcher)
除去KeyEventDispatcher这是以前添加到这个keyboardfocusmanager的调度链。
|
void |
removeKeyEventPostProcessor(KeyEventPostProcessor processor)
移除以前添加的keyeventpostprocessor从这keyboardfocusmanager的后处理器链。
|
void |
removePropertyChangeListener(PropertyChangeListener listener)
从列表中移除侦听器propertychangelistener。
|
void |
removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
删除一个propertychangelistener从监听器列表的特定属性。
|
void |
removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)
删除一个vetoablechangelistener从监听器列表的特定属性。
|
void |
removeVetoableChangeListener(VetoableChangeListener listener)
从列表中移除侦听器vetoablechangelistener。
|
static void |
setCurrentKeyboardFocusManager(KeyboardFocusManager newManager)
设置为调用线程的上下文的当前keyboardfocusmanager实例。
|
void |
setDefaultFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
设置一个给定的遍历操作的默认焦点遍历键。
|
void |
setDefaultFocusTraversalPolicy(FocusTraversalPolicy defaultPolicy)
设置默认FocusTraversalPolicy。
|
protected void |
setGlobalActiveWindow(Window activeWindow)
设置活动窗口。
|
void |
setGlobalCurrentFocusCycleRoot(Container newFocusCycleRoot)
设置当前的焦点循环根。
|
protected void |
setGlobalFocusedWindow(Window focusedWindow)
设置聚焦窗口。
|
protected void |
setGlobalFocusOwner(Component focusOwner)
设置焦点所有者。
|
protected void |
setGlobalPermanentFocusOwner(Component permanentFocusOwner)
设置永久焦点所有者。
|
void |
upFocusCycle()
移动焦点从当前焦点所有者的一个焦点遍历周期。
|
abstract void |
upFocusCycle(Component aComponent)
移动焦点一个焦点遍历周期。
|
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 static KeyboardFocusManager getCurrentKeyboardFocusManager()
setCurrentKeyboardFocusManager(java.awt.KeyboardFocusManager)
public static void setCurrentKeyboardFocusManager(KeyboardFocusManager newManager) throws SecurityException
如果安装了SecurityManager,调用线程必须被授予awtpermission”replacekeyboardfocusmanager”以取代目前的keyboardfocusmanager。如果没有得到许可,此方法将引发SecurityException,和目前的keyboardfocusmanager将保持不变。
newManager
-新的keyboardfocusmanager这个线程的上下文
SecurityException
如果调用线程不允许替换当前的keyboardfocusmanager
getCurrentKeyboardFocusManager()
,
DefaultKeyboardFocusManager
public Component getFocusOwner()
getGlobalFocusOwner()
,
setGlobalFocusOwner(java.awt.Component)
protected Component getGlobalFocusOwner() throws SecurityException
该方法将如果这keyboardfocusmanager不是当前调用线程的上下文keyboardfocusmanager引发SecurityException。
SecurityException
-如果这keyboardfocusmanager不是当前调用线程的上下文keyboardfocusmanager如果调用线程不拥有“replacekeyboardfocusmanager”权限
getFocusOwner()
,
setGlobalFocusOwner(java.awt.Component)
protected void setGlobalFocusOwner(Component focusOwner) throws SecurityException
这种方法实际上并没有将焦点集中到指定的组件上。它只是存储值被返回getFocusOwner()
。使用Component.requestFocus()
或Component.requestFocusInWindow()
改变焦点的主人,受平台限制。
focusOwner
-焦点所有者
SecurityException
-如果这keyboardfocusmanager不是当前调用线程的上下文keyboardfocusmanager如果调用线程不拥有“replacekeyboardfocusmanager”权限
getFocusOwner()
,
getGlobalFocusOwner()
,
Component.requestFocus()
,
Component.requestFocusInWindow()
,
Component.isFocusable()
public void clearFocusOwner()
焦点所有者的部分将得到一个永久的focus_lost事件。此操作完成后,本地窗口系统将丢弃所有用户生成的关键场次直到用户选择接收焦点的新组件或组件,重点明确通过电话requestFocus()
。此操作不改变聚焦或活动窗口。
Component.requestFocus()
,
FocusEvent.FOCUS_LOST
public void clearGlobalFocusOwner() throws SecurityException
requestFocus()
。此操作不改变聚焦或活动窗口。
如果安装了SecurityManager,调用线程必须被授予“replacekeyboardfocusmanager”awtpermission。如果没有得到许可,此方法将引发SecurityException,以及当前的焦点所有者无法清除。
这种方法的目的是通过keyboardfocusmanager设置为当前keyboardfocusmanager为调用线程的上下文中使用。它不是为一般客户使用。
SecurityException
-如果调用线程没有“replacekeyboardfocusmanager”权限
clearFocusOwner()
,
Component.requestFocus()
,
FocusEvent.FOCUS_LOST
public Component getPermanentFocusOwner()
getGlobalPermanentFocusOwner()
,
setGlobalPermanentFocusOwner(java.awt.Component)
protected Component getGlobalPermanentFocusOwner() throws SecurityException
SecurityException
-如果这keyboardfocusmanager不是当前调用线程的上下文keyboardfocusmanager如果调用线程不拥有“replacekeyboardfocusmanager”权限
getPermanentFocusOwner()
,
setGlobalPermanentFocusOwner(java.awt.Component)
protected void setGlobalPermanentFocusOwner(Component permanentFocusOwner) throws SecurityException
这种方法实际上并没有将焦点集中到指定的组件上。它只是存储值被返回getPermanentFocusOwner()
。使用Component.requestFocus()
或Component.requestFocusInWindow()
改变焦点的主人,受平台限制。
permanentFocusOwner
-永久的焦点所有者
SecurityException
-如果这keyboardfocusmanager不是当前调用线程的上下文keyboardfocusmanager如果调用线程不拥有“replacekeyboardfocusmanager”权限
getPermanentFocusOwner()
,
getGlobalPermanentFocusOwner()
,
Component.requestFocus()
,
Component.requestFocusInWindow()
,
Component.isFocusable()
public Window getFocusedWindow()
getGlobalFocusedWindow()
,
setGlobalFocusedWindow(java.awt.Window)
protected Window getGlobalFocusedWindow() throws SecurityException
SecurityException
-如果这keyboardfocusmanager不是当前调用线程的上下文keyboardfocusmanager如果调用线程不拥有“replacekeyboardfocusmanager”权限
getFocusedWindow()
,
setGlobalFocusedWindow(java.awt.Window)
protected void setGlobalFocusedWindow(Window focusedWindow) throws SecurityException
这种方法实际上并不改变焦点窗口就本地窗口系统而言。它只是存储值被返回getFocusedWindow()
。使用Component.requestFocus()
或Component.requestFocusInWindow()
改变焦点窗口,受平台限制。
focusedWindow
-焦点窗口
SecurityException
-如果这keyboardfocusmanager不是当前调用线程的上下文keyboardfocusmanager如果调用线程不拥有“replacekeyboardfocusmanager”权限
getFocusedWindow()
,
getGlobalFocusedWindow()
,
Component.requestFocus()
,
Component.requestFocusInWindow()
,
Window.isFocusableWindow()
public Window getActiveWindow()
getGlobalActiveWindow()
,
setGlobalActiveWindow(java.awt.Window)
protected Window getGlobalActiveWindow() throws SecurityException
SecurityException
-如果这keyboardfocusmanager不是当前调用线程的上下文keyboardfocusmanager如果调用线程不拥有“replacekeyboardfocusmanager”权限
getActiveWindow()
,
setGlobalActiveWindow(java.awt.Window)
protected void setGlobalActiveWindow(Window activeWindow) throws SecurityException
这种方法实际上并不改变当前窗口到本地窗口系统而言。它只是存储值被返回getActiveWindow()
。使用Component.requestFocus()
或Component.requestFocusInWindow()
to更改活动窗口,受平台限制。
activeWindow
-活动窗口
SecurityException
-如果这keyboardfocusmanager不是当前调用线程的上下文keyboardfocusmanager如果调用线程不拥有“replacekeyboardfocusmanager”权限
getActiveWindow()
,
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
-新的,默认的FocusTraversalPolicy
IllegalArgumentException
-如果defaultpolicy是空的
getDefaultFocusTraversalPolicy()
,
Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
Container.getFocusTraversalPolicy()
public void setDefaultFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
Set
会在效果上都
Window
s,没有这样的
Set
自己明确定义。这
Set
也将继承,递归,任何孩子
Component
那些
Windows
,没有这样的
Set
自己明确定义。
默认焦点遍历键的默认值是依赖于实现的。太阳推荐,一个特定的本地平台的所有实现都使用相同的默认值。Windows和Unix的建议如下。这些建议是用于太阳AWT的实现。
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
推荐。
使用AWTKeyStroke
API,客户端代码可以指定在这两个具体的KeyEvent
s,KEY_PRESSED
或KEY_RELEASED
,焦点遍历操作将发生。无论哪KeyEvent
是指定的,但是,对焦点遍历密钥相关的所有KeyEvent
s,包括相关的KEY_TYPED
事件,会被消耗掉,而不会派出任何Component
。它是一个运行时错误指定KEY_TYPED
事件映射到一个焦点遍历操作,或同一事件的多个默认Map焦点遍历操作。
这种方法可以keystrokes
任何Object
不是AWTKeyStroke
扔ClassCastException
。
id
-一个
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
,或
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
keystrokes
-为指定的操作
AWTKeyStroke
s集
IllegalArgumentException
-如果我不是一个
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
,或
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
,或者是
null
按键,如果按键包含
null
,或如果任何按键代表一个
KEY_TYPED
事件,或如果任何按键已经映射到另一个默认的焦点遍历操作
getDefaultFocusTraversalKeys(int)
,
Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
,
Component.getFocusTraversalKeys(int)
public Set<AWTKeyStroke> getDefaultFocusTraversalKeys(int id)
setDefaultFocusTraversalKeys
)
id
-一个keyboardfocusmanager.forward_traversal_keys,keyboardfocusmanager.backward_traversal_keys,keyboardfocusmanager.up_cycle_traversal_keys,或keyboardfocusmanager.down_cycle_traversal_keys
AWTKeyStroke
s的
Set
;的
Set
将不可修改的,可能是空的;
null
不会回来了
IllegalArgumentException
-如果我不是一个keyboardfocusmanager.forward_traversal_keys,keyboardfocusmanager.backward_traversal_keys,keyboardfocusmanager.up_cycle_traversal_keys,或keyboardfocusmanager.down_cycle_traversal_keys
setDefaultFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
,
Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
,
Component.getFocusTraversalKeys(int)
public Container getCurrentFocusCycleRoot()
这种方法的目的是通过keyboardfocusmanagers和聚焦的实现使用。它不是为一般客户使用。
getGlobalCurrentFocusCycleRoot()
,
setGlobalCurrentFocusCycleRoot(java.awt.Container)
protected Container getGlobalCurrentFocusCycleRoot() throws SecurityException
SecurityException
-如果这keyboardfocusmanager不是当前调用线程的上下文keyboardfocusmanager如果调用线程不拥有“replacekeyboardfocusmanager”权限
getCurrentFocusCycleRoot()
,
setGlobalCurrentFocusCycleRoot(java.awt.Container)
public void setGlobalCurrentFocusCycleRoot(Container newFocusCycleRoot) throws SecurityException
如果安装了SecurityManager,调用线程必须被授予“replacekeyboardfocusmanager”awtpermission。如果没有得到许可,此方法将引发SecurityException,和当前的焦点循环根不会改变。
这种方法的目的是通过keyboardfocusmanagers和聚焦的实现使用。它不是为一般客户使用。
newFocusCycleRoot
-新焦点循环根
SecurityException
-如果调用线程没有“replacekeyboardfocusmanager”权限
getCurrentFocusCycleRoot()
,
getGlobalCurrentFocusCycleRoot()
public void addPropertyChangeListener(PropertyChangeListener listener)
listener
- propertychangelistener加以补充
removePropertyChangeListener(java.beans.PropertyChangeListener)
,
getPropertyChangeListeners()
,
addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
public void removePropertyChangeListener(PropertyChangeListener listener)
如果侦听器为空,则不会引发异常,并没有执行任何动作。
listener
- propertychangelistener被删除
addPropertyChangeListener(java.beans.PropertyChangeListener)
,
getPropertyChangeListeners()
,
removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
public PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener
s或空数组如果没有属性改变监听器正在注册
addPropertyChangeListener(java.beans.PropertyChangeListener)
,
removePropertyChangeListener(java.beans.PropertyChangeListener)
,
getPropertyChangeListeners(java.lang.String)
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
propertyName
-上面列出的属性名称
listener
- propertychangelistener加以补充
addPropertyChangeListener(java.beans.PropertyChangeListener)
,
removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
,
getPropertyChangeListeners(java.lang.String)
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
如果侦听器为空,则不会引发异常,并没有执行任何动作。
propertyName
-一个有效的属性名称
listener
- propertychangelistener被删除
addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
,
getPropertyChangeListeners(java.lang.String)
,
removePropertyChangeListener(java.beans.PropertyChangeListener)
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
PropertyChangeListener
s数组。
PropertyChangeListener
s。
addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
,
removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
propertyName
-属性,名称的改变
oldValue
-以前的属性值
newValue
-属性的新值
public void addVetoableChangeListener(VetoableChangeListener listener)
listener
- vetoablechangelistener加以补充
removeVetoableChangeListener(java.beans.VetoableChangeListener)
,
getVetoableChangeListeners()
,
addVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)
public void removeVetoableChangeListener(VetoableChangeListener listener)
如果侦听器为空,则不会引发异常,并没有执行任何动作。
listener
- vetoablechangelistener被删除
addVetoableChangeListener(java.beans.VetoableChangeListener)
,
getVetoableChangeListeners()
,
removeVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)
public VetoableChangeListener[] getVetoableChangeListeners()
VetoableChangeListener
s或空数组如果没有vetoable改变听众正在注册
addVetoableChangeListener(java.beans.VetoableChangeListener)
,
removeVetoableChangeListener(java.beans.VetoableChangeListener)
,
getVetoableChangeListeners(java.lang.String)
public void addVetoableChangeListener(String propertyName, VetoableChangeListener listener)
propertyName
-上面列出的属性名称
listener
- vetoablechangelistener加以补充
addVetoableChangeListener(java.beans.VetoableChangeListener)
,
removeVetoableChangeListener(java.beans.VetoableChangeListener)
,
getVetoableChangeListeners()
public void removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)
如果侦听器为空,则不会引发异常,并没有执行任何动作。
propertyName
-一个有效的属性名称
listener
- vetoablechangelistener被删除
addVetoableChangeListener(java.beans.VetoableChangeListener)
,
getVetoableChangeListeners()
,
removeVetoableChangeListener(java.beans.VetoableChangeListener)
public VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
VetoableChangeListener
s与命名属性关联数组。
VetoableChangeListener
s。
addVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)
,
removeVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)
,
getVetoableChangeListeners()
protected void fireVetoableChange(String propertyName, Object oldValue, Object newValue) throws PropertyVetoException
propertyName
-属性,名称的改变
oldValue
-以前的属性值
newValue
-属性的新值
PropertyVetoException
-如果
VetoableChangeListener
扔
PropertyVetoException
public void addKeyEventDispatcher(KeyEventDispatcher dispatcher)
true
从
dispatchKeyEvent
方法。对于keyeventdispatchers可能增加总的数目没有限制,也没有一个特定的时间keyeventdispatcher实例可以增加数。
如果指定了一个空调度,则不采取任何操作,也不会引发异常。
在多线程应用程序中,KeyEventDispatcher
象其他AWT的听众一样。更多细节见AWT Threading Issues。
dispatcher
- keyeventdispatcher添加到调度链
removeKeyEventDispatcher(java.awt.KeyEventDispatcher)
public void removeKeyEventDispatcher(KeyEventDispatcher dispatcher)
addKeyEventDispatcher
。
如果一个空的调度员指定,如果指定的调度不调度链,或如果这keyboardfocusmanager是没有明确重新登记的规定,不采取行动而不引发异常。
在多线程应用程序中,KeyEventDispatcher
象其他AWT的听众一样。更多细节见AWT Threading Issues。
dispatcher
- keyeventdispatcher从调度链删除
addKeyEventDispatcher(java.awt.KeyEventDispatcher)
protected List<KeyEventDispatcher> getKeyEventDispatchers()
addKeyEventDispatcher
。如果没有其他keyeventdispatchers注册,实现自由返回null或一个长度为0的列表。客户端代码不应该假设一个行为在另一个,也不应该假设的行为,一旦建立,不会改变。
addKeyEventDispatcher(java.awt.KeyEventDispatcher)
,
removeKeyEventDispatcher(java.awt.KeyEventDispatcher)
public void addKeyEventPostProcessor(KeyEventPostProcessor processor)
true
从
postProcessKeyEvent
方法。这个总数keyeventpostprocessors可以添加没有限制,也没有次数,特别keyeventpostprocessor实例可以添加。
如果指定了一个空的后处理器,则不采取任何操作,也不会引发异常。
在多线程应用程序中,KeyEventPostProcessor
象其他AWT的听众一样。更多细节见AWT Threading Issues。
processor
- keyeventpostprocessor加后处理器链
removeKeyEventPostProcessor(java.awt.KeyEventPostProcessor)
public void removeKeyEventPostProcessor(KeyEventPostProcessor processor)
addKeyEventPostProcessor
可以去掉。
如果一个空的后处理器指定,如果指定的后处理器不在后处理器链,或如果这keyboardfocusmanager是没有明确的规定,不采取行动而不引发异常。
在多线程应用程序中,KeyEventPostProcessor
象其他AWT的听众一样。更多细节见AWT Threading Issues。
processor
- keyeventpostprocessor从后删除处理器链
addKeyEventPostProcessor(java.awt.KeyEventPostProcessor)
protected List<KeyEventPostProcessor> getKeyEventPostProcessors()
addKeyEventPostProcessor
。如果没有keyeventpostprocessors注册,实现自由返回null或一个长度为0的列表。客户端代码不应该假设一个行为在另一个,也不应该假设的行为,一旦建立,不会改变。
addKeyEventPostProcessor(java.awt.KeyEventPostProcessor)
,
removeKeyEventPostProcessor(java.awt.KeyEventPostProcessor)
public abstract boolean dispatchEvent(AWTEvent e)
redispatchEvent
防止awt事件调度从递归请求,keyboardfocusmanager调度事件再次。如果此方法返回
false
,然后awt事件调度会调度事件本身。
e
- awtevent发运
true
如果此方法发送事件;
false
否则
redispatchEvent(java.awt.Component, java.awt.AWTEvent)
,
dispatchKeyEvent(java.awt.event.KeyEvent)
public final void redispatchEvent(Component target, AWTEvent e)
dispatchEvent
和客户定义的keyeventdispatchers客户端实现必须调用
redispatchEvent(target, e)
代替
target.dispatchEvent(e)
调度事件。
这种方法的目的是通过keyboardfocusmanagers和keyeventdispatchers使用。它不是为一般客户使用。
target
-组件的事件应派遣
e
-事件调度
dispatchEvent(java.awt.AWTEvent)
,
KeyEventDispatcher
public abstract boolean dispatchKeyEvent(KeyEvent e)
dispatchEvent
如果在调度链keyeventdispatcher keyEvent没有出动,或者如果没有其他keyeventdispatchers注册。如果此方法的实现返回
false
,
dispatchEvent
派遣keyEvent可能本身,也可能返回
false
。如果
true
返回,
dispatchEvent
应该还
true
。
dispatchKeyEvent
接口
KeyEventDispatcher
e
-当前keyboardfocusmanager已请求KeyEventDispatcher派遣
true
如果被派遣;
false
否则
dispatchEvent(java.awt.AWTEvent)
public abstract boolean postProcessKeyEvent(KeyEvent e)
dispatchKeyEvent
。默认情况下,此方法将处理任何剩余的关键场次,通过消费活动和激活快捷AWT
MenuShortcut
Map。
postProcessKeyEvent
接口
KeyEventPostProcessor
e
-后处理
true
表明没有其他keyEvent keyeventpostprocessor将通知的。
dispatchKeyEvent(java.awt.event.KeyEvent)
,
MenuShortcut
public abstract void processKeyEvent(Component focusedComponent, KeyEvent e)
focusedComponent
的组件,将焦点遍历操作的基础上,如果指定的事件是一个关键的组件的焦点遍历
e
的事件,可能是一个关键焦点遍历
protected abstract void enqueueKeyEvents(long after, Component untilFocused)
dequeueKeyEvents
或
discardKeyEvents
。
after
-当前事件的时间戳,或当前系统时间如果当前事件没有时间戳,或AWT不能确定哪些事件正在处理
untilFocused
组件应在任何悬而未决的关键场次获得focus_gained事件
dequeueKeyEvents(long, java.awt.Component)
,
discardKeyEvents(java.awt.Component)
protected abstract void dequeueKeyEvents(long after, Component untilFocused)
enqueueKeyEvents
具有相同的时间戳和组件应该被释放的正常调度,当前的焦点所有者。如果给定的时间戳小于零,对于给定的时间戳与
最老的组成优秀入队的要求(如有)应取消。
after
指定在调用
enqueueKeyEvents
时间戳,或任何值<0
untilFocused
指定在调用
enqueueKeyEvents
组件
enqueueKeyEvents(long, java.awt.Component)
,
discardKeyEvents(java.awt.Component)
protected abstract void discardKeyEvents(Component comp)
enqueueKeyEvents
采用相同的部件应丢弃。
comp
指定的一个或多个电话
enqueueKeyEvents
组件
enqueueKeyEvents(long, java.awt.Component)
,
dequeueKeyEvents(long, java.awt.Component)
public abstract void focusNextComponent(Component aComponent)
aComponent
焦点遍历操作的基础组件
FocusTraversalPolicy
public abstract void focusPreviousComponent(Component aComponent)
aComponent
焦点遍历操作的基础组件
FocusTraversalPolicy
public abstract void upFocusCycle(Component aComponent)
aComponent
焦点遍历操作的基础组件
public abstract void downFocusCycle(Container aContainer)
aContainer
的容器,是焦点遍历操作的基础
public final void focusNextComponent()
public final void focusPreviousComponent()
public final void upFocusCycle()
public final void downFocusCycle()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.