public class SwingUtilities extends Object implements 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)
新しい矩形を割り当てずに、2 つの矩形の共通部分を計算するのに便利です。
|
static int |
computeStringWidth(FontMetrics fm, String str)
指定されたメトリックス (サイズ) を持つフォントを使用して文字列の幅を計算します。
|
static Rectangle |
computeUnion(int x, int y, int width, int height, Rectangle dest)
新しい矩形を割り当てないで 2 つの矩形の結合部分を算出する簡易メソッドです。
|
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 番目の Accessible 子を返します。
|
static int |
getAccessibleChildrenCount(Component c)
オブジェクト内の Accessible 子の数を返します。
|
static int |
getAccessibleIndexInParent(Component c)
このオブジェクトの、その Accessible 親でのインデックスを取得します。
|
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)
位置
x 、y を含む parent の、もっとも深い可視の子孫 Component を返します。 |
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)
UI が
component の condition に指定した InputMap を返します。 |
static Container |
getUnwrappedParent(Component component)
JLayer のインスタンスではない、component の最初の祖先を返します。 |
static Component |
getUnwrappedView(JViewport viewport)
JLayer のインスタンスではない、JViewport の最初の子孫を返します。 |
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)
単純な Look & Feel の変更で、ツリー内の各ノードに
updateUI() 処理を行うこと、つまり現在の Look & Feel でその UI プロパティーを初期化することを要求します。 |
static Window |
windowForComponent(Component c)
c の最初の Window 祖先か、または c が Window の内部に含まれていない場合は null を返します。 |
public static final boolean isRectangleContainingRectangle(Rectangle a, Rectangle b)
a
が b
を含む場合に true を返します。public static Rectangle getLocalBounds(Component aComponent)
aComponent
の矩形 (0,0,bounds.width,bounds.height) を返します。public static Window getWindowAncestor(Component c)
c
の最初の Window
祖先か、または c
が Window
の内部に含まれていない場合は null
を返します。c
- Window
祖先を取得する Component
。c
の最初の Window
祖先か、c
が Window
の内部に含まれていない場合は null
。public static Point convertPoint(Component source, Point aPoint, Component destination)
source
座標系内の aPoint
を destination
座標系に変換します。source
が null
の場合、aPoint
は destination
のルートコンポーネント座標系にあるものと想定されます。destination
が null
の場合、aPoint
は source
のルートコンポーネント座標系に変換されます。source
と destination
がいずれも null
の場合は、変換せずに aPoint
を返します。public static Point convertPoint(Component source, int x, int y, Component destination)
source
座標系内のポイント (x,y)
を destination
座標系に変換します。source
が null
の場合、(x,y)
は destination
のルートコンポーネント座標系にあるものと想定されます。destination
が null
の場合、(x,y)
は source
のルートコンポーネント座標系に変換されます。source
と destination
がいずれも null
の場合は、変換せずに (x,y)
を返します。public static Rectangle convertRectangle(Component source, Rectangle aRectangle, Component destination)
source
座標系内の矩形 aRectangle
を destination
座標系に変換します。source
が null
の場合、aRectangle
は destination
のルートコンポーネント座標系にあるものと想定されます。destination
が null
の場合、aRectangle
は source
のルートコンポーネント座標系に変換されます。source
と destination
がいずれも null
の場合は、変換せずに aRectangle
を返します。public static Container getAncestorOfClass(Class<?> c, Component comp)
comp
の上位を検索するための簡易メソッドであり、見つかったクラス c
の最初のオブジェクトを返します。c
クラスが見つからない場合は null
を返します。public static Container getAncestorNamed(String name, Component comp)
comp
の上位を検索するための簡易メソッドであり、見つかった name
の最初のオブジェクトを返します。name
が見つからない場合は null
を返します。public static Component getDeepestComponentAt(Component parent, int x, int y)
x
、y
を含む parent
の、もっとも深い可視の子孫 Component を返します。parent
が指定された位置を内包していない場合は、null
が返されます。parent
がコンテナではない場合、あるいは parent
の可視の子孫がどれも指定された位置を内包していない場合は、parent
が返されます。parent
- 検索を開始するルートコンポーネントx
- x ターゲット位置y
- y ターゲット位置public static MouseEvent convertMouseEvent(Component source, MouseEvent sourceEvent, Component destination)
sourceEvent
と同様の MouseEvent を返します (その x と y メンバーが destination
の座標体系に変換済みの場合を除く)。source
が null
の場合、sourceEvent
の x と y メンバーは destination
のルートコンポーネント座標系に入るものと想定されます。destination
が null
の場合、返された MouseEvent は source
の座標体系に入ります。sourceEvent
は変更されません。新しいイベントが返されます。destination が null
以外の場合、返されたイベントの source
フィールドは destination
に設定されます。translateMouseEvent() メソッドを使用すると、source を変更せずに、コンポーネントのマウスイベントを別のコンポーネントに変換できます。public static void convertPointToScreen(Point p, Component c)
p
- 新しい座標系に変換される Point オブジェクトc
- Component オブジェクトpublic static void convertPointFromScreen(Point p, Component c)
p
- 新しい座標系に変換される Point オブジェクトc
- Component オブジェクトpublic static Window windowForComponent(Component c)
c
の最初の Window
祖先か、または c
が Window
の内部に含まれていない場合は null
を返します。
注: このメソッドの機能は、getWindowAncestor
と同じです。
c
- Window
祖先を取得する Component
。c
の最初の Window
祖先か、c
が Window
の内部に含まれていない場合は null
。public static boolean isDescendingFrom(Component a, Component b)
a
がコンポーネント b
の子孫である場合、true
を返します。public static Rectangle computeIntersection(int x, int y, int width, int height, Rectangle dest)
x
- 最初の矩形の左上の点の X 座標y
- 最初の矩形の左上の点の Y 座標width
- 最初の矩形の幅height
- 最初の矩形の高さdest
- 2 番目の矩形dest
public static Rectangle computeUnion(int x, int y, int width, int height, Rectangle dest)
x
- 最初の矩形の x 座標y
- 最初の矩形の y 座標width
- 最初の矩形の幅height
- 最初の矩形の高さdest
- 2 番目の矩形の座標。2 つの矩形の和集合がこの矩形で返されるdest
Rectangle
public static Rectangle[] computeDifference(Rectangle rectA, Rectangle rectB)
rectB
とオーバーラップしない rectA
内の領域を表す矩形の配列を返すのに便利です。2 つの矩形がオーバーラップしない場合は、空の配列を返します。public static boolean isLeftMouseButton(MouseEvent anEvent)
anEvent
- MouseEvent オブジェクトpublic static boolean isMiddleMouseButton(MouseEvent anEvent)
anEvent
- MouseEvent オブジェクトpublic static boolean isRightMouseButton(MouseEvent anEvent)
anEvent
- MouseEvent オブジェクトpublic static int computeStringWidth(FontMetrics fm, String str)
fm
- 計算に使用する FontMetrics オブジェクトstr
- 計算対象の Stringpublic 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)
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)
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
の子孫であるか、別の種類の軽量コンポーネントであることが必要です。軽量コンポーネントとは、Component
isLightweight
メソッドによって返される「軽量」プロパティーが true であるようなコンポーネントです。Component が軽量でない場合は、クラッシュ、例外、ペイント関連の問題など、不正な事態が発生することがあります。
g
- 描画先の Graphics
オブジェクトc
- 描画対象の Component
p
- 中間 Container
x
- 描画領域の左端を表す int 値 (ピクセル単位)。グラフィックスコンテキストの左端を基準とするy
- 描画領域の上端を表す int 値 (ピクセル単位)。グラフィックスコンテキストの上端を基準とするw
- 描画領域の幅を表す int 値 (ピクセル単位)h
- 描画領域の高さを表す int 値 (ピクセル単位)CellRendererPane
, Component.isLightweight()
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
public static void updateComponentTreeUI(Component c)
updateUI()
処理を行うこと、つまり現在の Look & Feel でその UI プロパティーを初期化することを要求します。public static void invokeLater(Runnable doRun)
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」を参照してください。
JDK Version 1.3 以降、このメソッドは java.awt.EventQueue.invokeLater()
を呼び出すだけです。
このメソッドは、ほかの Swing のメソッドとは異なり、どのスレッドからでも呼び出せます。
public static void invokeAndWait(Runnable doRun) throws InterruptedException, InvocationTargetException
doRun.run()
を、AWT イベントディスパッチスレッドで非同期的に実行させます。これは、保留中のすべての AWT イベントが処理されるまでブロックされ、次に doRun.run()
が復帰します。このメソッドは、アプリケーションスレッドが GUI を更新する必要があるときに使用されます。イベントディスパッチスレッドから呼び出してはいけません。新しいアプリケーションスレッドを生成する例を、次に示します。この例では、アプリケーションスレッドは 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」を参照してください。
JDK Version 1.3 以降、このメソッドは java.awt.EventQueue.invokeAndWait()
を呼び出すだけです。
InterruptedException
- イベントディスパッチスレッドが doRun.run()
の実行を終えるのを待つ間に割り込みを受けた場合InvocationTargetException
- doRun
の実行中に例外がスローされる場合invokeLater(java.lang.Runnable)
public static boolean isEventDispatchThread()
JDK Version 1.3 以降、このメソッドは java.awt.EventQueue.isDispatchThread()
を呼び出すだけです。
public static int getAccessibleIndexInParent(Component c)
注: Java 2 プラットフォーム v1.3 以降、開発者はこのメソッドを使用する代わりに、Component.AccessibleAWTComponent.getAccessibleIndexInParent() を呼び出すことをお勧めします。
public static Accessible getAccessibleAt(Component c, Point p)
Point
に含まれている Accessible
子が存在する場合は、それを返します。それ以外の場合は null
を返します。Accessible
。そうでない場合は null
public static AccessibleStateSet getAccessibleStateSet(Component c)
注: Java 2 プラットフォーム v1.3 以降、開発者はこのメソッドを使用する代わりに、Component.AccessibleAWTComponent.getAccessibleIndexInParent() を呼び出すことをお勧めします。
AccessibleState
public static int getAccessibleChildrenCount(Component c)
注: Java 2 プラットフォーム v1.3 以降、開発者はこのメソッドを使用する代わりに、Component.AccessibleAWTComponent.getAccessibleIndexInParent() を呼び出すことをお勧めします。
public static Accessible getAccessibleChild(Component c, int i)
注: Java 2 プラットフォーム v1.3 以降、開発者はこのメソッドを使用する代わりに、Component.AccessibleAWTComponent.getAccessibleIndexInParent() を呼び出すことをお勧めします。
i
- 子のゼロから始まるインデックス@Deprecated public static Component findFocusOwner(Component c)
KeyboardFocusManager.getFocusOwner()
に置き換えられています。Component
の子 Component
を返します (存在する場合)。c
- フォーカス所有者を検索するときの Component
階層のルートcomp
でない場合、またはフォーカス所有者が comp
の子孫である場合は null
KeyboardFocusManager.getFocusOwner()
public static JRootPane getRootPane(Component c)
null
。public static Component getRoot(Component c)
public static boolean processKeyBindings(KeyEvent event)
event
に関連付けられた Component
のキーバインディングを処理します。このメソッドが便利なのは、event.getComponent()
が JComponent
の下位である場合、または JComponent
サブクラス内から super.processKeyEvent
を呼び出していない場合だけです。JComponent
は、自身の processKeyEvent
メソッド内から自動的にバインディングを処理するため、このメソッドを直接呼び出すことが必要となる場合はほとんどありません。event
- フォーカスを持つ Component および処理対象のバインディングを指定する KeyEvent。public static boolean notifyAction(Action action, KeyStroke ks, KeyEvent event, Object sender, int modifiers)
action
が使用可能で、かつ null
でない場合、action
の actionPerformed
を呼び出します。ActionEvent のコマンドは次の値で指定されます。
registerKeyboardAction
を使用して登録された場合は、渡されたコマンド文字列 (null
が渡された場合は null
)。
null
でないかぎり、Action.ACTION_COMMAND_KEY という名前を持つ Action 値。
getKeyChar
が KeyEvent.CHAR_UNDEFINED を返さないかぎり、KeyEvent の String 値。
action
が null
以外で、actionPerformed が呼び出されると、true を返します。public static void replaceUIInputMap(JComponent component, int type, InputMap uiInputMap)
component
の UI InputMap を uiInputMap
に変更する簡易メソッドです。uiInputMap
が null
の場合、このメソッドは以前にインストールされた UI InputMap を削除します。public static void replaceUIActionMap(JComponent component, ActionMap uiActionMap)
component
の UI ActionMap を uiActionMap
に変更する簡易メソッドです。uiActionMap
が null
の場合、このメソッドは以前にインストールされた UI ActionMap を削除します。public static InputMap getUIInputMap(JComponent component, int condition)
component
の condition
に指定した InputMap を返します。
このメソッドは、UI が指定された型の InputMap をインストールしていない場合に null
を返します。
public static ActionMap getUIActionMap(JComponent component)
component
に指定した ActionMap を返します。
このメソッドは、UI が指定された型の ActionMap をインストールしていない場合に null
を返します。
public static Rectangle calculateInnerArea(JComponent c, Rectangle r)
r
に格納し、r
を返します。位置とサイズは、コンポーネントの境界を示し、ボーダー領域を含まないように調整されます (インセット)。このメソッドは、ペイントするコードを実装するクラスに対して便利です。c
- 対象の JComponent。このメソッドが null
を返す場合は null
r
- 変更される Rectangle のインスタンス。 null
null
の場合は null
。そうでない場合は渡された矩形 (null
以外の場合)、または位置およびサイズ情報を指定する新しい矩形public static Container getUnwrappedParent(Component component)
JLayer
のインスタンスではない、component
の最初の祖先を返します。component
- JLayer
インスタンスではない、最初の祖先を取得する Component
。JLayer
のインスタンスではない、component
の最初の祖先。そのような祖先が見つからない場合は、null
を返します。NullPointerException
- component
が null
である場合JLayer
public static Component getUnwrappedView(JViewport viewport)
JLayer
のインスタンスではない、JViewport
の最初の子孫を返します。そのような子孫が見つかった場合は、null
を返します。
viewport
のビューコンポーネントが JLayer
でない場合、このメソッドは JViewport.getView()
と同じであり、それ以外の場合は、JLayer.getView()
が降順のすべての JLayer
で再帰的に呼び出されます。viewport
- JLayer
インスタンスではない、最初の子孫を取得する JViewport
。JLayer
のインスタンスではない、JViewport
の最初の子孫。そのような子孫が見つかった場合は、null
を返します。NullPointerException
- viewport
が null
である場合JViewport.getView()
, JLayer
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.