JavaTM Platform
Standard Ed. 6

javax.swing
类 SwingUtilities

java.lang.Object
  继承者 javax.swing.SwingUtilities
所有已实现的接口:
SwingConstants

public class SwingUtilities
extends Object
implements SwingConstants

Swing 实用方法的集合。


字段摘要
 
从接口 javax.swing.SwingConstants 继承的字段
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
方法摘要
static Rectangle calculateInnerArea(JComponent c, Rectangle r)
          将指定组件的内部绘制区域的位置和大小存储在 r 中,然后返回 r
static Rectangle[] computeDifference(Rectangle rectA, Rectangle rectB)
          返回矩形数组的便捷方法,该矩形表示不与 rectB 重叠的 rectA 内的区域。
static Rectangle computeIntersection(int x, int y, int width, int height, Rectangle dest)
          在未分配新矩形的情况下计算两个矩形的交集的便捷方法。
static int computeStringWidth(FontMetrics fm, String str)
          使用具有指定“规格”(大小)的字体计算字符串的宽度。
static Rectangle computeUnion(int x, int y, int width, int height, Rectangle dest)
          在未分配新矩形的情况下计算两个矩形的并集的便捷方法。
static MouseEvent convertMouseEvent(Component source, MouseEvent sourceEvent, Component destination)
          返回类似于 sourceEvent 的 MouseEvent,除了其 x 和 y 成员已转换到 destination 的坐标系统。
static Point convertPoint(Component source, int x, int y, Component destination)
          将 source 坐标系统中的点 (x,y) 转换到 destination 坐标系统。
static Point convertPoint(Component source, Point aPoint, Component destination)
          将 source 坐标系统中的 aPoint 转换到 destination 坐标系统。
static void convertPointFromScreen(Point p, Component c)
          将一个点从屏幕坐标转换到组件的坐标系统
static void convertPointToScreen(Point p, Component c)
          将一个点从组件的坐标系统转换到屏幕坐标。
static Rectangle convertRectangle(Component source, Rectangle aRectangle, Component destination)
          将 source 坐标系统中的矩形 aRectangle 转换到 destination 坐标系统。
static Component findFocusOwner(Component c)
          已过时。 从 1.4 开始,由 KeyboardFocusManager.getFocusOwner() 取代。
static Accessible getAccessibleAt(Component c, Point p)
          如果存在,则返回本地坐标 Point 处包含的 Accessible 子对象。
static Accessible getAccessibleChild(Component c, int i)
          返回对象的第 n 个可访问子对象。
static int getAccessibleChildrenCount(Component c)
          返回对象中可访问的子对象数。
static int getAccessibleIndexInParent(Component c)
          获取此对象在其可访问的父对象中的索引。
static AccessibleStateSet getAccessibleStateSet(Component c)
          获取此对象的状态。
static Container getAncestorNamed(String name, Component comp)
          在组件层次结构中搜索上面的 comp 的便捷方法,返回它找到的 name 第一个对象。
static Container getAncestorOfClass(Class<?> c, Component comp)
          在组件层次结构中搜索上面的 comp 的便捷方法,返回它找到的类 c 的第一个对象。
static Component getDeepestComponentAt(Component parent, int x, int y)
          返回包含位置 xyparent 的最深可见后代组件。
static Rectangle getLocalBounds(Component aComponent)
          返回组件 aComponent 的矩形 (0,0,bounds.width,bounds.height)。
static Component getRoot(Component c)
          返回当前组件树结构的根组件。
static JRootPane getRootPane(Component c)
          如果 c 是一个 JRootPane 后代,则返回其 JRootPane 祖先。
static ActionMap getUIActionMap(JComponent component)
          返回该 UI 在组件 component 中提供的 ActionMap。
static InputMap getUIInputMap(JComponent component, int condition)
          返回由组件 component 中的条件 condition 的 UI 提供的 InputMap。
static Window getWindowAncestor(Component c)
          返回 c 的第一个 Window 祖先;如果 c 未包含在 Window 内,则返回 null
static void invokeAndWait(Runnable doRun)
          导致 doRun.run() 在 AWT 事件指派线程上同步执行。
static void invokeLater(Runnable doRun)
          导致 doRun.run() 在 AWT 事件指派线程上异步执行。
static boolean isDescendingFrom(Component a, Component b)
          如果组件 a 从组件 b 继承,则返回 true
static boolean isEventDispatchThread()
          如果当前线程是 AWT 事件指派线程,则返回 true。
static boolean isLeftMouseButton(MouseEvent anEvent)
          如果鼠标事件指定左边鼠标按键,则返回 true。
static boolean isMiddleMouseButton(MouseEvent anEvent)
          如果鼠标事件指定中间鼠标按键,则返回 true。
static boolean isRectangleContainingRectangle(Rectangle a, Rectangle b)
          如果 a 包含 b,则返回 true。
static boolean isRightMouseButton(MouseEvent anEvent)
          如果鼠标事件指定右边鼠标按键,则返回 true。
static String layoutCompoundLabel(FontMetrics fm, String text, Icon icon, int verticalAlignment, int horizontalAlignment, int verticalTextPosition, int horizontalTextPosition, Rectangle viewR, Rectangle iconR, Rectangle textR, int textIconGap)
          计算并返回图标原点的位置,文本基线的原点的位置,以及复合标签字符串的可能进行了修剪的版本。
static String layoutCompoundLabel(JComponent c, FontMetrics fm, String text, Icon icon, int verticalAlignment, int horizontalAlignment, int verticalTextPosition, int horizontalTextPosition, Rectangle viewR, Rectangle iconR, Rectangle textR, int textIconGap)
          计算并返回图标原点的位置,文本基线的原点的位置,以及复合标签字符串的可能进行了修剪的版本。
static boolean notifyAction(Action action, KeyStroke ks, KeyEvent event, Object sender, int modifiers)
          如果启用 action(且为非 null),则调用 action 上的 actionPerformed
static void paintComponent(Graphics g, Component c, Container p, int x, int y, int w, int h)
          在指定的 Graphics 上绘制组件。
static void paintComponent(Graphics g, Component c, Container p, Rectangle r)
          在指定的 Graphics 上绘制组件。
static boolean processKeyBindings(KeyEvent event)
          处理与 event 关联的 Component 的键绑定。
static void replaceUIActionMap(JComponent component, ActionMap uiActionMap)
          将 component 的 UI ActionMap 更改为 uiActionMap 的便捷方法。
static void replaceUIInputMap(JComponent component, int type, InputMap uiInputMap)
          将 component 的 UI InputMap 更改为 uiInputMap 的便捷方法。
static void updateComponentTreeUI(Component c)
          简单的外观更改:将树结构中的每个节点转到 updateUI() -- 也就是说,通过当前外观初始化其 UI 属性。
static Window windowForComponent(Component c)
          返回 c 的第一个 Window 祖先;如果 c 未包含在 Window 内,则返回 null
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

isRectangleContainingRectangle

public static final boolean isRectangleContainingRectangle(Rectangle a,
                                                           Rectangle b)
如果 a 包含 b,则返回 true。


getLocalBounds

public static Rectangle getLocalBounds(Component aComponent)
返回组件 aComponent 的矩形 (0,0,bounds.width,bounds.height)。


getWindowAncestor

public static Window getWindowAncestor(Component c)
返回 c 的第一个 Window 祖先;如果 c 未包含在 Window 内,则返回 null

参数:
c - 要获取其 Window 祖先的 Component
返回:
返回 c 的第一个 Window 祖先;如果 c 未包含在 Window 内,则返回 null
从以下版本开始:
1.3

convertPoint

public static Point convertPoint(Component source,
                                 Point aPoint,
                                 Component destination)
source 坐标系统中的 aPoint 转换到 destination 坐标系统。如果 sourcenull,则假定 aPoint 位于 destination 的根组件坐标系统中。如果 destinationnull,则将 aPoint 转换到 source 的根组件坐标系统。如果 sourcedestination 都为 null,则返回 aPoint,无需进行任何转换。


convertPoint

public static Point convertPoint(Component source,
                                 int x,
                                 int y,
                                 Component destination)
source 坐标系统中的点 (x,y) 转换到 destination 坐标系统。如果 sourcenull,则假定 (x,y) 位于 destination 的根组件坐标系统中。如果 destinationnull,则将 (x,y) 转换到 source 的根组件坐标系统。如果 sourcedestination 都为 null,则返回 (x,y),无需进行任何转换。


convertRectangle

public static Rectangle convertRectangle(Component source,
                                         Rectangle aRectangle,
                                         Component destination)
source 坐标系统中的矩形 aRectangle 转换到 destination 坐标系统。如果 sourcenull,则假定 aRectangle 位于 destination 的根组件坐标系统中。如果 destinationnull,则将 aRectangle 转换到 source 的根组件坐标系统。如果 sourcedestination 都为 null,则返回 aRectangle,无需进行任何转换。


getAncestorOfClass

public static Container getAncestorOfClass(Class<?> c,
                                           Component comp)
在组件层次结构中搜索上面的 comp 的便捷方法,返回它找到的类 c 的第一个对象。如果无法找到类 c,可以返回 null


getAncestorNamed

public static Container getAncestorNamed(String name,
                                         Component comp)
在组件层次结构中搜索上面的 comp 的便捷方法,返回它找到的 name 第一个对象。如果无法找到 name,可以返回 null


getDeepestComponentAt

public static Component getDeepestComponentAt(Component parent,
                                              int x,
                                              int y)
返回包含位置 xyparent 的最深可见后代组件。如果 parent 未包含指定位置,则返回 null。如果 parent 不是容器,或者没有一个 parent 的可见后代包含指定位置,则返回 parent

参数:
parent - 开始该搜索的根组件
x - 该 x 目标位置
y - 该 y 目标位置

convertMouseEvent

public static MouseEvent convertMouseEvent(Component source,
                                           MouseEvent sourceEvent,
                                           Component destination)
返回类似于 sourceEvent 的 MouseEvent,除了其 x 和 y 成员已转换到 destination 的坐标系统。如果 sourcenull,则假定已将 sourceEvent x 和 y 成员转换到 destination 的根组件坐标系统。如果 destinationnull,则返回的 MouseEvent 将位于 source 的坐标系统中。sourceEvent 不会更改。返回一个新事件。返回事件的 source 字段将被设置为 destination。如果目标为非 null,则在不更改源的情况下使用 translateMouseEvent() 方法将鼠标事件从一个组件转换到另一个组件。


convertPointToScreen

public static void convertPointToScreen(Point p,
                                        Component c)
将一个点从组件的坐标系统转换到屏幕坐标。

参数:
p - 一个 Point 对象(已转换到新坐标系统)
c - 一个 Component 对象

convertPointFromScreen

public static void convertPointFromScreen(Point p,
                                          Component c)
将一个点从屏幕坐标转换到组件的坐标系统

参数:
p - 一个 Point 对象(已转换到新坐标系统)
c - 一个 Component 对象

windowForComponent

public static Window windowForComponent(Component c)
返回 c 的第一个 Window 祖先;如果 c 未包含在 Window 内,则返回 null

注:此方法与 getWindowAncestor 提供的功能相同。

参数:
c - 要获取其 Window 祖先的 Component
返回:
c 的第一个 Window 祖先;如果 c 未包含在 Window 内,则返回 null

isDescendingFrom

public static boolean isDescendingFrom(Component a,
                                       Component b)
如果组件 a 从组件 b 继承,则返回 true


computeIntersection

public static Rectangle computeIntersection(int x,
                                            int y,
                                            int width,
                                            int height,
                                            Rectangle dest)
在未分配新矩形的情况下计算两个矩形的交集的便捷方法。如果这两个矩形不相交,则返回的矩形从 (0,0) 开始,宽度和高度都是 0。

参数:
x - 第一个矩形的左上顶点的 X 坐标
y - 第一个矩形的左上顶点的 Y 坐标
width - 第一个矩形的宽度
height - 第一个矩形的高度
dest - 第二个矩形
返回:
dest,已改为指定交集

computeUnion

public static Rectangle computeUnion(int x,
                                     int y,
                                     int width,
                                     int height,
                                     Rectangle dest)
在未分配新矩形的情况下计算两个矩形的并集的便捷方法。

参数:
x - 第一个矩形的 x 坐标
y - 第一个矩形的 y 坐标
width - 第一个矩形的宽度
height - 第一个矩形的高度
dest - 第二个矩形的坐标;在此矩形中返回两个矩形的并集
返回:
dest Rectangle

computeDifference

public static Rectangle[] computeDifference(Rectangle rectA,
                                            Rectangle rectB)
返回矩形数组的便捷方法,该矩形表示不与 rectB 重叠的 rectA 内的区域。如果两个矩形不重叠,则返回一个空数组。


isLeftMouseButton

public static boolean isLeftMouseButton(MouseEvent anEvent)
如果鼠标事件指定左边鼠标按键,则返回 true。

参数:
anEvent - 一个 MouseEvent 对象
返回:
如果左边鼠标按键处于活动状态,则返回 true

isMiddleMouseButton

public static boolean isMiddleMouseButton(MouseEvent anEvent)
如果鼠标事件指定中间鼠标按键,则返回 true。

参数:
anEvent - 一个 MouseEvent 对象
返回:
如果中间鼠标按键处于活动状态,则返回 true

isRightMouseButton

public static boolean isRightMouseButton(MouseEvent anEvent)
如果鼠标事件指定右边鼠标按键,则返回 true。

参数:
anEvent - 一个 MouseEvent 对象
返回:
如果右边鼠标按键处于活动状态,则返回 true

computeStringWidth

public static int computeStringWidth(FontMetrics fm,
                                     String str)
使用具有指定“规格”(大小)的字体计算字符串的宽度。

参数:
fm - 用来计算的 FontMetrics 对象
str - 要计算的字符串
返回:
一个包含该字符串宽度的 int 值

layoutCompoundLabel

public static String layoutCompoundLabel(JComponent c,
                                         FontMetrics fm,
                                         String text,
                                         Icon icon,
                                         int verticalAlignment,
                                         int horizontalAlignment,
                                         int verticalTextPosition,
                                         int horizontalTextPosition,
                                         Rectangle viewR,
                                         Rectangle iconR,
                                         Rectangle textR,
                                         int textIconGap)
计算并返回图标原点的位置,文本基线的原点的位置,以及复合标签字符串的可能进行了修剪的版本。相对于 viewR 矩形计算位置。还要考虑该 JComponents 方向 (LEADING/TRAILING),并相应地将其转换为 LEFT/RIGHT 值。


layoutCompoundLabel

public static String layoutCompoundLabel(FontMetrics fm,
                                         String text,
                                         Icon icon,
                                         int verticalAlignment,
                                         int horizontalAlignment,
                                         int verticalTextPosition,
                                         int horizontalTextPosition,
                                         Rectangle viewR,
                                         Rectangle iconR,
                                         Rectangle textR,
                                         int textIconGap)
计算并返回图标原点的位置,文本基线的原点的位置,以及复合标签字符串的可能进行了修剪的版本。相对于 viewR 矩形计算位置。此 layoutCompoundLabel() 不知道如何处理 horizontalTextPosition(默认为 RIGHT)和 horizontalAlignment(默认为 CENTER)中的 LEADING/TRAILING 值。可以使用其他版本的 layoutCompoundLabel() 替代。


paintComponent

public static void paintComponent(Graphics g,
                                  Component c,
                                  Container p,
                                  int x,
                                  int y,
                                  int w,
                                  int h)
在指定的 Graphics 上绘制组件。此方法主要用于呈现不作为可见包含层次结构的一部分而存在,但用于呈现的 Component。例如,如果执行自己的呈现并想呈现某些文本(甚至 HTML),则可以利用 JLabel 的文本呈现支持并通过此方法直接绘制它,而不会将标签添加到可见包含层次结构中。

此方法利用 CellRendererPane 处理实际的绘制,只有使用了用于呈现的组件时才建议使用此方法。如果利用多个组件处理呈现,则就像 JTable 所做的一样,那么可直接使用 CellRendererPane。否则,如下所述,每个 Component 可以以 CellRendererPane 结尾。

如果 c 的父组件不是 CellRendererPane,则创建一个新的 CellRendererPane,将 c 添加到其中,并将 CellRendererPane 添加到 p。如果 c 的父组件是 CellRendererPane,并且 CellRendererPane 的父级不是 p,则将它添加到 p

该组件应该从 JComponent 继承或者是另一种轻量级组件。轻量级组件是一个其 "lightweight" 属性(由该 Component isLightweight 方法返回)为 true 的组件。如果该 Component 不是轻量级的,则可能发生以下糟糕的事情:崩溃、异常、绘制问题……

参数:
g - 要在其上绘制的 Graphics 对象
c - 要绘制的 Component
p - 该中间 Container
x - 指定要在其中绘制的区域左侧的 int 值,以像素为单位,通过图形环境的左边缘测量
y - 指定要在其中绘制的区域顶部的 int 值,以像素为单位,通过图形环境的顶部边缘测量
w - 指定要在其中绘制的区域宽度的 int 值,以像素为单位
h - 指定要在其中绘制的区域高度的 int 值,以像素为单位
另请参见:
CellRendererPane, Component.isLightweight()

paintComponent

public static void paintComponent(Graphics g,
                                  Component c,
                                  Container p,
                                  Rectangle r)
在指定的 Graphics 上绘制组件。这是 paintComponent(Graphics,Component,Container,int,int,int,int) 的一个覆盖方法。有关更多信息,请参阅它。

参数:
g - 要在其上绘制的 Graphics 对象
c - 要绘制的 Component
p - 该中间 Container
r - 要在其中绘制的 Rectangle
另请参见:
paintComponent(Graphics,Component,Container,int,int,int,int), CellRendererPane

updateComponentTreeUI

public static void updateComponentTreeUI(Component c)
简单的外观更改:将树结构中的每个节点转到 updateUI() -- 也就是说,通过当前外观初始化其 UI 属性。


invokeLater

public static void invokeLater(Runnable doRun)
导致 doRun.run() 在 AWT 事件指派线程上异步执行。在所有挂起的 AWT 事件被处理后才发生。此方法应该在应用程序线程需要更新该 GUI 时使用。在下面的示例中,invokeLater 调用将事件指派线程上的 Runnable 对象 doHelloWorld 加入队列,然后输出一条信息。
 Runnable doHelloWorld = new Runnable() {
     public void run() {
         System.out.println("Hello World on " + Thread.currentThread());
     }
 };

 SwingUtilities.invokeLater(doHelloWorld);
 System.out.println("This might well be displayed before the other message.");
 
如果从事件指派线程调用 invokeLater(例如,从 JButton 的 ActionListener)则仍要将 doRun.run() 推迟,直到处理了所有挂起的事件。注意,如果 doRun.run() 抛出一个未捕获的异常,则该事件指派线程将不会缠绕(不是该当前线程)。

有关此方法的其他文档和示例,请参阅 The Java Tutorial 中的 How to Use Threads 一节。

从 1.3 版本开始,此方法只覆盖了 java.awt.EventQueue.invokeLater()

与 Swing 的其余部分不同,可从任一线程中调用此方法。

另请参见:
invokeAndWait(java.lang.Runnable)

invokeAndWait

public static void invokeAndWait(Runnable doRun)
                          throws InterruptedException,
                                 InvocationTargetException
导致 doRun.run() 在 AWT 事件指派线程上同步执行。在所有挂起的 AWT 事件被处理完(然后)返回 doRun.run() 之前,此调用将处于阻塞状态。此方法应该在应用程序线程需要更新该 GUI 时使用。而不应该从 EventDispatchThread 中调用此方法。下面是一个创建新应用程序线程的示例,该应用线程使用 invokeAndWait 从事件指派线程输出一个字符串,完成后再从应用程序线程输出一个字符串。
 final Runnable doHelloWorld = new Runnable() {
     public void run() {
         System.out.println("Hello World on " + Thread.currentThread());
     }
 };

 Thread appThread = new Thread() {
     public void run() {
         try {
             SwingUtilities.invokeAndWait(doHelloWorld);
         }
         catch (Exception e) {
             e.printStackTrace();
         }
         System.out.println("Finished on " + Thread.currentThread());
     }
 };
 appThread.start();
 
注意,如果 Runnable.run 方法抛出一个未捕获的异常(在事件指派线程上),则它将被作为一个 InvocationTargetException(在调用者的线程上)捕获并重新抛出。

有关此方法的更多文档和示例,请参阅 The Java Tutorial 中的 How to Use Threads 一节。

从 1.3 版本开始,此方法只覆盖了 java.awt.EventQueue.invokeAndWait()

抛出:
InterruptedException - 如果等待事件指派线程执完成执行 doRun.run() 时被中断
InvocationTargetException - 如果在运行 doRun 时抛出异常
另请参见:
invokeLater(java.lang.Runnable)

isEventDispatchThread

public static boolean isEventDispatchThread()
如果当前线程是 AWT 事件指派线程,则返回 true。

从 1.3 版本开始,此方法只覆盖了 java.awt.EventQueue.isDispatchThread()

返回:
true 如果当前线程是一个 AWT 事件指派线程

getAccessibleIndexInParent

public static int getAccessibleIndexInParent(Component c)
获取此对象在其可访问的父对象中的索引。

注:从 Java 2 平台 v1.3 开始,建议开发人员调用 Component.AccessibleAWTComponent.getAccessibleIndexInParent(),而不是使用此方法。

返回:
如果此对象没有可访问的父对象,则返回 -1。否则,返回子对象在其可访问的父对象中的索引。

getAccessibleAt

public static Accessible getAccessibleAt(Component c,
                                         Point p)
如果存在,则返回本地坐标 Point 处包含的 Accessible 子对象。否则返回 null

返回:
指定位置的 Accessible(如果存在);否则返回 null

getAccessibleStateSet

public static AccessibleStateSet getAccessibleStateSet(Component c)
获取此对象的状态。

注:从 Java 2 平台 v1.3 开始,建议开发人员调用 Component.AccessibleAWTComponent.getAccessibleIndexInParent(),而不是使用此方法。

返回:
包含对象当前状态集合的 AccessibleStateSet 的实例
另请参见:
AccessibleState

getAccessibleChildrenCount

public static int getAccessibleChildrenCount(Component c)
返回对象中可访问的子对象数。如果此对象的所有子级都实现 Accessible,则此方法应该返回该对象的子级数。

注:从 Java 2 平台 v1.3 开始,建议开发人员调用 Component.AccessibleAWTComponent.getAccessibleIndexInParent(),而不是使用此方法。

返回:
对象的可访问子对象数

getAccessibleChild

public static Accessible getAccessibleChild(Component c,
                                            int i)
返回对象的第 n 个可访问子对象。

注:从 Java 2 平台 v1.3 开始,建议开发人员调用 Component.AccessibleAWTComponent.getAccessibleIndexInParent(),而不是使用此方法。

参数:
i - 从零开始的子对象索引
返回:
该对象的第 n 个可访问子对象

findFocusOwner

@Deprecated
public static Component findFocusOwner(Component c)
已过时。 从 1.4 开始,由 KeyboardFocusManager.getFocusOwner() 取代。

返回指定为焦点所有者的 Component 的子 Component(如果有)。

参数:
c - 要搜索焦点所有者的 Component 层次结构的根
返回:
焦点所有者;如果不存在焦点所有者,如果焦点所有者不是 compcomp 的后代,则返回 null
另请参见:
KeyboardFocusManager.getFocusOwner()

getRootPane

public static JRootPane getRootPane(Component c)
如果 c 是一个 JRootPane 后代,则返回其 JRootPane 祖先。如果 c 是一个 RootPaneContainer,则返回其 JRootPane。

返回:
组件 c 的 JRootPane,或者 null

getRoot

public static Component getRoot(Component c)
返回当前组件树结构的根组件。

返回:
c(一个 Window)的第一个祖先,或者最后一个 Applet 祖先

processKeyBindings

public static boolean processKeyBindings(KeyEvent event)
处理与 event 关联的 Component 的键绑定。此方法仅当 event.getComponent() 不是从 JComponent 继承的,或不从 JComponent 子类中调用 super.processKeyEvent 时才有用。JComponent 自动处理其 processKeyEvent 方法中的绑定,因此一般情况下不需要直接调用此方法。

参数:
event - 用于标识哪些绑定要处理以及哪个组件有焦点的 KeyEvent。
返回:
如果找到并处理一个绑定,则返回 true
从以下版本开始:
1.4

notifyAction

public static boolean notifyAction(Action action,
                                   KeyStroke ks,
                                   KeyEvent event,
                                   Object sender,
                                   int modifiers)
如果启用 action(且为非 null),则调用 action 上的 actionPerformed。ActionEvent 的命令由以下情况确定:
  1. 如果该动作是通过 registerKeyboardAction 注册的,则传入命令字符串(如果传入 null,则使用 null)。
  2. 动作值的名称是 Action.ACTION_COMMAND_KEY,除非为 null
  3. 该 KeyEvent 的字符串值,除非 getKeyChar 返回 KeyEvent.CHAR_UNDEFINED。
如果 action 为非 null 且 actionPerformed 是在其上调用的,则将返回 true。

从以下版本开始:
1.3

replaceUIInputMap

public static void replaceUIInputMap(JComponent component,
                                     int type,
                                     InputMap uiInputMap)
component 的 UI InputMap 更改为 uiInputMap 的便捷方法。如果 uiInputMapnull,则将移除以前安装的任何 UI InputMap。

从以下版本开始:
1.3

replaceUIActionMap

public static void replaceUIActionMap(JComponent component,
                                      ActionMap uiActionMap)
component 的 UI ActionMap 更改为 uiActionMap 的便捷方法。如果 uiActionMapnull,则将移除以前安装的任何 UI ActionMap。

从以下版本开始:
1.3

getUIInputMap

public static InputMap getUIInputMap(JComponent component,
                                     int condition)
返回由组件 component 中的条件 condition 的 UI 提供的 InputMap。

如果该 UI 未安装指定类型的 InputMap,则将返回 null

从以下版本开始:
1.3

getUIActionMap

public static ActionMap getUIActionMap(JComponent component)
返回该 UI 在组件 component 中提供的 ActionMap。

如果该 UI 未安装 ActionMap,则将返回 null

从以下版本开始:
1.3

calculateInnerArea

public static Rectangle calculateInnerArea(JComponent c,
                                           Rectangle r)
将指定组件的内部绘制区域的位置和大小存储在 r 中,然后返回 r。该位置和大小指定组件的边界,进行调整以使其不包括边框区域(即 insets)。此方法对实现绘制代码的类很有用。

参数:
c - 相关的 JComponent;如果为 null,则此方法返回 null
r - 要修改的 Rectangle 实例;可以为 null
返回:
如果该组件为 null,则返回 null;否则返回传入的矩形(如果为非 null),或一个指定位置和大小信息的新矩形
从以下版本开始:
1.4

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策