|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.Component | +--java.awt.Container | +--javax.swing.JComponent | +--javax.swing.JPopupMenu
ポップアップメニューの実装です。ポップアップメニューは小さなウィンドウで、複数の選択肢 (メニューコマンド) を表示します。JPopupMenu
は、メニューバー上の項目が選択されたときに表示するメニューに使います。また、選択したメニュー項目によっては表示されることもある、プルライトメニューにも使われます。あるいは、メニューを表示させたい他の場所 (メニューバー以外の場所) でも、JPopupMenu
を使えます。たとえば、特定の場所で右クリックが発生した場合のポップアップメニュー表示 (ショートカットメニュー) などです。
ポップアップメニューの詳細と使用例については、「The Java Tutorial」の「How to Use Menus」を参照してください。標準の Look & Feel (L&F) 表現でこのコンポーネントが使うキーボードのキーについては、「JPopupMenu
のキー割り当て」を参照してください。
警告:
このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。1.4 では、すべての JavaBeansTM の長期間の運用に対するサポートが java.beans
パッケージに追加されました。XMLEncoder
を参照してください。
入れ子クラスの概要 | |
protected class |
JPopupMenu.AccessibleJPopupMenu
このクラスは JPopupMenu クラス用のユーザ補助機能のサポートを実装しています。 |
static class |
JPopupMenu.Separator
ポップアップメニュー固有のセパレータです。 |
クラス javax.swing.JComponent から継承した入れ子クラス |
|
クラス java.awt.Container から継承した入れ子クラス |
|
クラス java.awt.Component から継承した入れ子クラス |
Component.BltBufferStrategy, Component.FlipBufferStrategy |
フィールドの概要 |
クラス javax.swing.JComponent から継承したフィールド |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
クラス java.awt.Component から継承したフィールド |
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
インタフェース java.awt.image.ImageObserver から継承したフィールド |
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
コンストラクタの概要 | |
JPopupMenu()
呼び出しコンポーネントの定義なしで JPopupMenu を構築します。 |
|
JPopupMenu(String label)
指定されたタイトルの PopupMenu を構築します。 |
メソッドの概要 | |
JMenuItem |
add(Action a)
指定された Action オブジェクトをディスパッチするメニューの末尾に新しいメニュー項目を追加します。 |
JMenuItem |
add(JMenuItem menuItem)
指定されたメニュー項目をメニューの末尾に追加します。 |
JMenuItem |
add(String s)
指定されたテキストを持つ新しいメニュー項目を作成して、このメニューの末尾に追加します。 |
void |
addPopupMenuListener(PopupMenuListener l)
PopupMenu リスナーを追加します。 |
void |
addSeparator()
メニューの末尾に新しいセパレータを追加します。 |
protected PropertyChangeListener |
createActionChangeListener(JMenuItem b)
Action に対する変更が発生した場合にコントロールを更新する、適切に設定された PropertyChangeListener を返します。 |
protected JMenuItem |
createActionComponent(Action a)
JPopupMenu に追加された Action の JMenuItem を作成するファクトリメソッドです。 |
protected void |
firePopupMenuCanceled()
PopupMenuListener に、ポップアップメニューが取り消されたことを通知します。 |
protected void |
firePopupMenuWillBecomeInvisible()
PopupMenuListener に、ポップアップメニューが不可視になることを通知します。 |
protected void |
firePopupMenuWillBecomeVisible()
PopupMenuListener に、ポップアップメニューが可視になることを通知します。 |
AccessibleContext |
getAccessibleContext()
この JPopupMenu に関連した AccessibleContext を返します。 |
Component |
getComponent()
この JPopupMenu コンポーネントを返します。 |
Component |
getComponentAtIndex(int i)
推奨されていません。 getComponent(int i) に置き換えられました。 |
int |
getComponentIndex(Component c)
指定されたコンポーネントのインデックスを返します。 |
static boolean |
getDefaultLightWeightPopupEnabled()
defaultLightWeightPopupEnabled プロパティを取得します。 |
Component |
getInvoker()
ポップアップメニューの呼び出しコンポーネントを返します。 |
String |
getLabel()
ポップアップメニューのラベルを返します。 |
Insets |
getMargin()
ポップアップメニューのボーダと内容の間にあるマージンの値を返します (ピクセル単位)。 |
PopupMenuListener[] |
getPopupMenuListeners()
この JMenuItem に addPopupMenuListener() で追加されたすべての PopupMenuListener の配列を返します。 |
SingleSelectionModel |
getSelectionModel()
単一の選択を扱うモデルオブジェクトを返します。 |
MenuElement[] |
getSubElements()
このメニューコンポーネントのサブメニューを格納する MenuElement の配列を返します。 |
PopupMenuUI |
getUI()
このコンポーネントを描画する Look & Feel (L&F) オブジェクトを返します。 |
String |
getUIClassID()
このコンポーネントを描画する L&F クラスの名前を返します。 |
void |
insert(Action a,
int index)
指定された Action オブジェクトを、メニュー項目として指定の位置に挿入します。 |
void |
insert(Component component,
int index)
指定されたコンポーネントを、メニューの指定された位置に挿入します。 |
boolean |
isBorderPainted()
ボーダをペイントするかどうかを調べます。 |
boolean |
isLightWeightPopupEnabled()
lightWeightPopupEnabled プロパティを取得します。 |
boolean |
isPopupTrigger(MouseEvent e)
JPopupMenu の現在インストールされている UI が MouseEvent をポップアップトリガと見なす場合は、true を返します。 |
boolean |
isVisible()
ポップアップメニューが可視 (現在表示中) である場合に true を返します。 |
void |
menuSelectionChanged(boolean isIncluded)
このメニューをアクティブにするか、アクティブではなくするためにメニューバーの選択が変更されたときに、メッセージを送ります。 |
void |
pack()
コンテナをレイアウトして、内容の表示に最小限の空間を使用するようにします。 |
protected void |
paintBorder(Graphics g)
borderPainted プロパティが true である場合に、ポップアップメニューのボーダをペイントします。 |
protected String |
paramString()
この JPopupMenu の文字列表現を返します。 |
protected void |
processFocusEvent(FocusEvent evt)
このコンポーネントで発生するフォーカスイベントを、登録されているすべての FocusListener オブジェクトにディスパッチすることにより処理します。
|
protected void |
processKeyEvent(KeyEvent evt)
ニーモニックやアクセラレータなどの、キーストロークイベントを処理します。 |
void |
processKeyEvent(KeyEvent e,
MenuElement[] path,
MenuSelectionManager manager)
このメソッドは MenuElement インタフェースに適合するために必要ですが、実装されていません。 |
void |
processMouseEvent(MouseEvent event,
MenuElement[] path,
MenuSelectionManager manager)
このメソッドは MenuElement インタフェースに適合するために必要ですが、実装されていません。 |
void |
remove(int pos)
指定されたインデックスにあるコンポーネントをこのポップアップメニューから削除します。 |
void |
removePopupMenuListener(PopupMenuListener l)
PopupMenu リスナーを削除します。 |
void |
setBorderPainted(boolean b)
ボーダをペイントするかどうかを設定します。 |
static void |
setDefaultLightWeightPopupEnabled(boolean aFlag)
lightWeightPopupEnabled プロパティのデフォルト値を設定します。 |
void |
setInvoker(Component invoker)
ポップアップメニューの呼び出しコンポーネント、すなわち、ポップアップメニュー項目が表示されるコンポーネントを設定します。 |
void |
setLabel(String label)
ポップアップメニューのラベルを設定します。 |
void |
setLightWeightPopupEnabled(boolean aFlag)
lightWeightPopupEnabled のデフォルト値を設定します。 |
void |
setLocation(int x,
int y)
x、y 座標を使って、ポップアップメニューの左上隅の位置を設定します。 |
void |
setPopupSize(Dimension d)
Dimension オブジェクトを使用して、ポップアップウィンドウのサイズを設定します。 |
void |
setPopupSize(int width,
int height)
ポップアップウィンドウのサイズを、指定された幅および高さに設定します。 |
void |
setSelected(Component sel)
現在選択されるコンポーネントを設定します。 |
void |
setSelectionModel(SingleSelectionModel model)
単一の選択を扱うモデルオブジェクトを設定します。 |
void |
setUI(PopupMenuUI ui)
このコンポーネントを描画する L&F オブジェクトを設定します。 |
void |
setVisible(boolean b)
ポップアップメニューの可視性を設定します。 |
void |
show(Component invoker,
int x,
int y)
呼び出しコンポーネント内の x、y 座標で指定された位置に、ポップアップメニューを表示します。 |
void |
updateUI()
現在の Look & Feel からの値に UI プロパティをリセットします。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
public JPopupMenu()
JPopupMenu
を構築します。
public JPopupMenu(String label)
PopupMenu
を構築します。
label
- ポップアップメニューのタイトルとして UI が使う文字列メソッドの詳細 |
public static void setDefaultLightWeightPopupEnabled(boolean aFlag)
lightWeightPopupEnabled
プロパティのデフォルト値を設定します。
aFlag
- ポップアップが軽量の場合は true
、そうでない場合は false
getDefaultLightWeightPopupEnabled()
,
setLightWeightPopupEnabled(boolean)
public static boolean getDefaultLightWeightPopupEnabled()
defaultLightWeightPopupEnabled
プロパティを取得します。デフォルトでは true
です。
defaultLightWeightPopupEnabled
プロパティの値setDefaultLightWeightPopupEnabled(boolean)
public PopupMenuUI getUI()
PopupMenuUI
オブジェクトpublic void setUI(PopupMenuUI ui)
ui
- 新規 PopupMenuUI
L&F オブジェクトUIDefaults.getUI(javax.swing.JComponent)
public void updateUI()
JComponent
内の updateUI
JComponent.updateUI()
public String getUIClassID()
JComponent
内の getUIClassID
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
protected void processFocusEvent(FocusEvent evt)
Component
の記述: FocusListener
オブジェクトにディスパッチすることにより処理します。
このコンポーネントに対してフォーカスイベントが使用可能でない場合、このメソッドは呼び出されません。フォーカスイベントは、次のどれかの場合に使用可能になります。
FocusListener
オブジェクトが addFocusListener
によって登録されている
enableEvents
によってフォーカスイベントが使用可能になっている
イベントパラメータが null
の場合の動作は定義されていないため例外がスローされます。
Component
内の processFocusEvent
evt
- フォーカスイベントFocusEvent
,
FocusListener
,
Component.addFocusListener(java.awt.event.FocusListener)
,
Component.enableEvents(long)
protected void processKeyEvent(KeyEvent evt)
JComponent
内の processKeyEvent
evt
- 処理されるキーイベントKeyEvent
,
KeyListener
,
Component.addKeyListener(java.awt.event.KeyListener)
,
Component.enableEvents(long)
,
Component.isShowing()
public SingleSelectionModel getSelectionModel()
selectionModel
プロパティSingleSelectionModel
public void setSelectionModel(SingleSelectionModel model)
model
- 新規 SingleSelectionModel
SingleSelectionModel
public JMenuItem add(JMenuItem menuItem)
JMenuItem
public JMenuItem add(String s)
s
- 追加されるメニュー項目の文字列public JMenuItem add(Action a)
Action
オブジェクトをディスパッチするメニューの末尾に新しいメニュー項目を追加します。JDK 1.3 以降は、このメソッドはコンテナに Action
を追加するメソッドとしては推奨されません。代わりに、setAction
を使ってアクションを持つコントロールを設定し、そのコントロールを直接 Container
に追加することをお勧めします。
a
- メニューに追加する Action
Action
protected JMenuItem createActionComponent(Action a)
JPopupMenu
に追加された Action
の JMenuItem
を作成するファクトリメソッドです。JDK 1.3 以降は、このメソッドは推奨されません。代わりに、setAction
を使ってアクションを持つコントロールを設定し、そのコントロールを直接 Container
に追加することをお勧めします。
a
- 追加されるメニュー項目の Action
Action
protected PropertyChangeListener createActionChangeListener(JMenuItem b)
Action
に対する変更が発生した場合にコントロールを更新する、適切に設定された PropertyChangeListener
を返します。JDK 1.3 以降は、このメソッドはコンテナに Action
を追加するメソッドとしては推奨されません。代わりに、setAction
を使ってアクションを持つコントロールを設定し、そのコントロールを直接 Container
に追加することをお勧めします。
public void remove(int pos)
Container
内の remove
pos
- 削除される項目の位置
IllegalArgumentException
- pos
の値が 0 より小さいか、pos
の値がメニュー項目の数より大きい場合Container.add(java.awt.Component)
public void setLightWeightPopupEnabled(boolean aFlag)
lightWeightPopupEnabled
のデフォルト値を設定します。デフォルトでは true
です。Look & Feel がポップアップを表示するとき、デフォルトでは軽量 (すべて Java の) ポップアップの使用を選択できます。軽量ポップアップウィンドウは重量 (ネイティブピアの) ウィンドウより効率的ですが、軽量コンポーネントと重量コンポーネントを GUI の中で混在させてはいけません。アプリケーションで軽量コンポーネントと重量コンポーネントが混在している場合は、軽量ポップアップを無効にする必要があります。このプロパティの値にかかわらず、常に重量ポップアップを使用する Look & Feel もあります。
aFlag
- 軽量ポップアップを無効にする場合は false
isLightWeightPopupEnabled
public boolean isLightWeightPopupEnabled()
lightWeightPopupEnabled
プロパティを取得します。
lightWeightPopupEnabled
プロパティの値setLightWeightPopupEnabled(boolean)
public String getLabel()
setLabel(java.lang.String)
public void setLabel(String label)
label
- ポップアップメニューのラベルを指定する文字列setLabel(java.lang.String)
public void addSeparator()
public void insert(Action a, int index)
Action
オブジェクトを、メニュー項目として指定の位置に挿入します。
a
- 挿入する Action
オブジェクトindex
- Action
を挿入する位置。0 はメニューの先頭
IllegalArgumentException
- index
の値が 0 より小さい場合Action
public void insert(Component component, int index)
component
- 挿入する Component
index
- コンポーネントを挿入する位置。0 はメニューの先頭
IllegalArgumentException
- index
の値が 0 より小さい場合public void addPopupMenuListener(PopupMenuListener l)
PopupMenu
リスナーを追加します。
l
- 追加する PopupMenuListener
public void removePopupMenuListener(PopupMenuListener l)
PopupMenu
リスナーを削除します。
l
- 削除する PopupMenuListener
public PopupMenuListener[] getPopupMenuListeners()
PopupMenuListener
の配列を返します。
PopupMenuListener
。追加されたリスナーがない場合は空の配列protected void firePopupMenuWillBecomeVisible()
PopupMenuListener
に、ポップアップメニューが可視になることを通知します。
protected void firePopupMenuWillBecomeInvisible()
PopupMenuListener
に、ポップアップメニューが不可視になることを通知します。
protected void firePopupMenuCanceled()
PopupMenuListener
に、ポップアップメニューが取り消されたことを通知します。
public void pack()
public void setVisible(boolean b)
JComponent
内の setVisible
b
- ポップアップを可視にする場合は true、隠す場合は falsepublic boolean isVisible()
Component
内の isVisible
true
、そうでない場合は false
Component.setVisible(boolean)
public void setLocation(int x, int y)
Component
内の setLocation
x
- ポップアップメニューの新しい位置の x 座標y
- ポップアップメニューの新しい位置の y 座標Component.getLocation()
,
Component.setBounds(int, int, int, int)
public Component getInvoker()
Component
public void setInvoker(Component invoker)
invoker
- ポップアップメニューが表示される Component
public void show(Component invoker, int x, int y)
invoker
- ポップアップメニューが表示されるコンポーネントx
- ポップアップメニューを表示する呼び出しコンポーネントの x 座標y
- ポップアップメニューを表示する呼び出しコンポーネントの y 座標public Component getComponentAtIndex(int i)
getComponent(int i)
に置き換えられました。
i
- コンポーネントのインデックス。0 が先頭
Component
public int getComponentIndex(Component c)
public void setPopupSize(Dimension d)
Dimension
オブジェクトを使用して、ポップアップウィンドウのサイズを設定します。これは、setPreferredSize(d)
と同等です。
d
- このコンポーネントの新しいサイズを指定する Dimension
public void setPopupSize(int width, int height)
setPreferredSize(new Dimension(width, height))
に相当します。
public void setSelected(Component sel)
sel
- 選択する Component
public boolean isBorderPainted()
setBorderPainted(boolean)
public void setBorderPainted(boolean b)
b
- true の場合はボーダがペイントされるisBorderPainted()
protected void paintBorder(Graphics g)
borderPainted
プロパティが true
である場合に、ポップアップメニューのボーダをペイントします。
JComponent
内の paintBorder
g
- Graphics
オブジェクトJComponent.paint(java.awt.Graphics)
,
JComponent.setBorder(javax.swing.border.Border)
public Insets getMargin()
Insets
オブジェクトprotected String paramString()
JPopupMenu
の文字列表現を返します。このメソッドはデバッグ専用であり、返される文字列の内容および形式は実装によって異なります。返される文字列は空の場合がありますが、null
にはなりません。
JComponent
内の paramString
JPopupMenu
の文字列表現public AccessibleContext getAccessibleContext()
Accessible
内の getAccessibleContext
JComponent
内の getAccessibleContext
public void processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager)
MenuElement
インタフェースに適合するために必要ですが、実装されていません。
MenuElement
内の processMouseEvent
MenuElement.processMouseEvent(MouseEvent, MenuElement[], MenuSelectionManager)
public void processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)
MenuElement
インタフェースに適合するために必要ですが、実装されていません。
MenuElement
内の processKeyEvent
MenuElement.processKeyEvent(KeyEvent, MenuElement[], MenuSelectionManager)
public void menuSelectionChanged(boolean isIncluded)
javax.swing.MenuElement
インタフェースを実装します。MenuElement.menuSelectionChanged をオーバーライドしてください。
- 定義:
- インタフェース
MenuElement
内の menuSelectionChanged
- パラメータ:
isIncluded
- このメニューがアクティブな場合は true、そうでない場合は false- 関連項目:
MenuElement.menuSelectionChanged(boolean)
public MenuElement[] getSubElements()
MenuElement
の配列を返します。JMenuElement
インタフェースに適合する項目だけを返します。ポップアップメニューが null
の場合は空の配列を返します。このメソッドは、MenuElement
インタフェースに適合するために必要です。
MenuElement
内の getSubElements
MenuElement
オブジェクトの配列MenuElement.getSubElements()
public Component getComponent()
JPopupMenu
コンポーネントを返します。
MenuElement
内の getComponent
JPopupMenu
オブジェクトMenuElement.getComponent()
public boolean isPopupTrigger(MouseEvent e)
JPopupMenu
の現在インストールされている UI が MouseEvent
をポップアップトリガと見なす場合は、true を返します。
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.