- java.lang.Object
-
- javafx.stage.Window
-
- javafx.stage.PopupWindow
-
- javafx.scene.control.PopupControl
-
- javafx.scene.control.ContextMenu
-
- すべての実装されたインタフェース:
Styleable,EventTarget,Skinnable
@IDProperty("id") public class ContextMenu extends PopupControlメニュー・アイテムのObservableListを含むポップアップ・コントロール。
itemsObservableListには任意のMenuItemタイプを挿入でき、そのサブクラスであるMenu、MenuItem、RadioMenuItem、CheckMenuItemおよびCustomMenuItemも含めることができます。 任意のノードをメニューに挿入する必要がある場合、CustomMenuItemを使用できます。 この一般的なルールの1つの例外は、SeparatorMenuItemをセパレータの挿入に使用できることです。このクラスの一般的なユースケースは、コンテキスト・メニューを作成してユーザーに表示することです。 ContextMenuを使用してコンテキスト・メニューを作成するには、次の手順を実行します。
final ContextMenu contextMenu = new ContextMenu(); contextMenu.setOnShowing(new EventHandler<WindowEvent>() { public void handle(WindowEvent e) { System.out.println("showing"); } }); contextMenu.setOnShown(new EventHandler<WindowEvent>() { public void handle(WindowEvent e) { System.out.println("shown"); } }); MenuItem item1 = new MenuItem("About"); item1.setOnAction(new EventHandler<ActionEvent>() { public void handle(ActionEvent e) { System.out.println("About"); } }); MenuItem item2 = new MenuItem("Preferences"); item2.setOnAction(new EventHandler<ActionEvent>() { public void handle(ActionEvent e) { System.out.println("Preferences"); } }); contextMenu.getItems().addAll(item1, item2); final TextField textField = new TextField("Type Something"); textField.setContextMenu(contextMenu);Control.setContextMenu(javafx.scene.control.ContextMenu)コンビニエンス・メソッドを使用すると、任意のコントロールにコンテキスト・メニューを設定できます。 前述の例では、コンテキスト・メニューがテキスト・フィールドの右Sideに表示されます。 また、次のように、コントロールにイベント・ハンドラを設定して、コンテキスト・メニューを起動することもできます。textField.setOnAction(new EventHandler<ActionEvent>() { public void handle(ActionEvent e) { contextMenu.show(textField, Side.BOTTOM, 0, 0); } }); Group root = (Group) scene.getRoot(); root.getChildren().add(textField);この例では、ユーザーが
Buttonをクリックすると、コンテキスト・メニューが表示されます(このためには、前述の手順を実行するのではなく、MenuButtonコントロールを使用する必要があります)。前述のコード・サンプルに使用されているshow関数を使用すると、ContextMenuがテキスト・フィールドの真下に表示されることに注意してください。
Sideを変えると、想定どおりの結果を得ることができます。
-
-
プロパティのサマリー
プロパティ Type プロパティ 説明 ObjectProperty<EventHandler<ActionEvent>>onActionこのContextMenu内に含まれるアイテムがアクティブ化されると通知されるコールバック関数。-
クラス javafx.scene.control.PopupControlで宣言されたプロパティ
id、maxHeight、maxWidth、minHeight、minWidth、prefHeight、prefWidth、skin、style
-
クラス javafx.stage.PopupWindowで宣言されたプロパティ
anchorLocation、anchorX、anchorY、autoFix、autoHide、consumeAutoHidingEvents、hideOnEscape、onAutoHide、ownerNode、ownerWindow
-
クラス javafx.stage.Windowで宣言されたプロパティ
eventDispatcher, focused, forceIntegerRenderScale, height, onCloseRequest, onHidden, onHiding, onShowing, onShown, opacity, outputScaleX, outputScaleY, renderScaleX, renderScaleY, scene, showing, width, x, y
-
-
ネストされたクラスのサマリー
-
クラス javafx.scene.control.PopupControlで宣言されたネストされたクラス/インタフェース
PopupControl.CSSBridge
-
クラス javafx.stage.PopupWindowで宣言されたネストされたクラス/インタフェース
PopupWindow.AnchorLocation
-
-
フィールドのサマリー
-
クラス javafx.scene.control.PopupControlで宣言されたフィールド
bridge、USE_COMPUTED_SIZE、USE_PREF_SIZE
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 ContextMenu()新しいContextMenuを作成します。ContextMenu(MenuItem... items)特定のアイテムで初期化された新しいContextMenuを作成します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 ObservableList<MenuItem>getItems()コンテキスト・メニューのメニュー・アイテム。EventHandler<ActionEvent>getOnAction()プロパティonActionの値を取得します。voidhide()この関数が呼び出されたときにContextMenuが表示されていたと想定し、このContextMenuおよび表示可能なサブメニューを非表示にします。ObjectProperty<EventHandler<ActionEvent>>onActionProperty()このContextMenu内に含まれるアイテムがアクティブ化されると通知されるコールバック関数。voidsetOnAction(EventHandler<ActionEvent> value)プロパティonActionの値を設定します。voidshow(Node anchor, double screenX, double screenY)指定された画面座標にContextMenuを表示します。voidshow(Node anchor, Side side, double dx, double dy)hposおよびvposパラメータで指定された側と、x軸およびy軸それぞれの特定のdxおよびdy値によるオフセットに基づいて、特定のアンカー・ノードに対して相対的にContextMenuを表示します。-
クラス java.lang.Objectで宣言されたメソッド
clone、equals、finalize、getClass、hashCode、notify、notifyAll、toString、wait、wait、wait
-
クラス javafx.scene.control.PopupControlで宣言されたメソッド
createDefaultSkin, getClassCssMetaData, getCssMetaData, getId, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getPrefHeight, getPrefWidth, getPseudoClassStates, getStyle, getStyleableParent, getStyleClass, getTypeSelector, idProperty, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, pseudoClassStateChanged, setId, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setPrefHeight, setPrefSize, setPrefWidth, setStyle, skinProperty, styleProperty
-
クラス javafx.stage.PopupWindowで宣言されたメソッド
anchorLocationProperty、anchorXProperty、anchorYProperty、autoFixProperty、autoHideProperty、consumeAutoHidingEventsProperty、getAnchorLocation、getAnchorX、getAnchorY、getConsumeAutoHidingEvents、getOnAutoHide、getOwnerNode、getOwnerWindow、hideOnEscapeProperty、isAutoFix、isAutoHide、isHideOnEscape、onAutoHideProperty、ownerNodeProperty、ownerWindowProperty、setAnchorLocation、setAnchorX、setAnchorY、setAutoFix、setAutoHide、setConsumeAutoHidingEvents、setHideOnEscape、setOnAutoHide、setScene、show、show
-
インタフェース javafx.css.Styleableで宣言されたメソッド
getStyleableNode
-
クラス javafx.stage.Windowで宣言されたメソッド
addEventFilter, addEventHandler, buildEventDispatchChain, centerOnScreen, eventDispatcherProperty, fireEvent, focusedProperty, forceIntegerRenderScaleProperty, getEventDispatcher, getHeight, getOnCloseRequest, getOnHidden, getOnHiding, getOnShowing, getOnShown, getOpacity, getOutputScaleX, getOutputScaleY, getProperties, getRenderScaleX, getRenderScaleY, getScene, getUserData, getWidth, getWindows, getX, getY, hasProperties, heightProperty, isFocused, isForceIntegerRenderScale, isShowing, onCloseRequestProperty, onHiddenProperty, onHidingProperty, onShowingProperty, onShownProperty, opacityProperty, outputScaleXProperty, outputScaleYProperty, removeEventFilter, removeEventHandler, renderScaleXProperty, renderScaleYProperty, requestFocus, sceneProperty, setEventDispatcher, setEventHandler, setForceIntegerRenderScale, setHeight, setOnCloseRequest, setOnHidden, setOnHiding, setOnShowing, setOnShown, setOpacity, setRenderScaleX, setRenderScaleY, setUserData, setWidth, setX, setY, show, showingProperty, sizeToScene, widthProperty, xProperty, yProperty
-
-
-
-
プロパティの詳細
-
onAction
public final ObjectProperty<EventHandler<ActionEvent>> onActionProperty
このContextMenu内に含まれるアイテムがアクティブ化されると通知されるコールバック関数。 現在の実装はすべての親メニューも通知するため、イベントのためにすべてのサブメニューをリスニングする必要はありません。
-
-
コンストラクタの詳細
-
ContextMenu
public ContextMenu()
新しいContextMenuを作成します。
-
ContextMenu
public ContextMenu(MenuItem... items)
特定のアイテムで初期化された新しいContextMenuを作成します。- パラメータ:
items- メニュー・アイテムのリスト
-
-
メソッドの詳細
-
setOnAction
public final void setOnAction(EventHandler<ActionEvent> value)
プロパティonActionの値を設定します。- プロパティの説明:
- この
ContextMenu内に含まれるアイテムがアクティブ化されると通知されるコールバック関数。 現在の実装はすべての親メニューも通知するため、イベントのためにすべてのサブメニューをリスニングする必要はありません。
-
getOnAction
public final EventHandler<ActionEvent> getOnAction()
プロパティonActionの値を取得します。- プロパティの説明:
- この
ContextMenu内に含まれるアイテムがアクティブ化されると通知されるコールバック関数。 現在の実装はすべての親メニューも通知するため、イベントのためにすべてのサブメニューをリスニングする必要はありません。
-
onActionProperty
public final ObjectProperty<EventHandler<ActionEvent>> onActionProperty()
このContextMenu内に含まれるアイテムがアクティブ化されると通知されるコールバック関数。 現在の実装はすべての親メニューも通知するため、イベントのためにすべてのサブメニューをリスニングする必要はありません。
-
getItems
public final ObservableList<MenuItem> getItems()
コンテキスト・メニューのメニュー・アイテム。 このObservableListが実行時に変更された場合、ContextMenuは想定どおりに更新されます。- 戻り値:
- このコンテキスト・メニューのメニュー・アイテム
- 関連項目:
MenuItem
-
show
public void show(Node anchor, Side side, double dx, double dy)
hposおよびvposパラメータで指定された側と、x軸およびy軸それぞれの特定のdxおよびdy値によるオフセットに基づいて、特定のアンカー・ノードに対して相対的にContextMenuを表示します。 十分な領域がない場合、メニューは反対側に移動し、オフセットは適用されません。hposパラメータおよびvposパラメータの目的を明確にするには、これらがアンカー・ノードに対して相対的であることを考慮します。 したがって、CENTERのhposおよびvposは、ContextMenuがアンカーの上に表示され、ContextMenuの(0,0)位置がアンカーの(0,0)に配置されることを表します。 右のhposはContextMenuをシフトして、その左上(0,0)位置がアンカーの右上位置にアタッチされるようにします。この関数は、親ノードに対して相対的にメニューの位置を微調整し、詳細に位置合せする場合に便利です。
- パラメータ:
anchor- アンカー・ノードside- サイドdx- x軸のdx値dy- y軸のdy値
-
show
public void show(Node anchor, double screenX, double screenY)
指定された画面座標にContextMenuを表示します。 指定された場所に、サイズ要件のあるContextMenuを表示するための十分な領域がない場合は、ContextMenuを画面に戻すために必要な調整が行われます。 また、このことは、ContextMenuが複数のモニターにまたがらないことも意味します。- オーバーライド:
show、クラス:PopupWindow- パラメータ:
anchor- アンカー・ノードscreenX- 画面座標におけるアンカーのx位置screenY- 画面座標におけるアンカーのy位置
-
hide
public void hide()
この関数が呼び出されたときにContextMenuが表示されていたと想定し、このContextMenuおよび表示可能なサブメニューを非表示にします。この
ContextMenuが表示されていない場合は、何も実行されません。- オーバーライド:
hide、クラス:PopupWindow
-
-