JavaTM 2 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 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only