モジュール javafx.controls
パッケージ javafx.scene.control

クラスDialogPane

  • すべての実装されたインタフェース:
    Styleable, EventTarget

    @DefaultProperty("buttonTypes")
    public class DialogPane
    extends Pane
    DialogPaneは、Dialogインスタンス内に表示されるルート・ノードとみなされる必要があります。 この役割において、DialogPaneはheadersgraphicscontentおよびbuttonsを配置します。 DialogPaneのデフォルト実装(つまり、DialogPaneクラス自体)は、通常のParent.layoutChildren()メソッドを使用してレイアウトを処理します。 このメソッドは、別の方法でレイアウトを処理するためにサブクラスによってオーバーライドされることがあります。

    headerおよびcontentプロパティに加えて、header textおよびcontent textプロパティも存在します。 *TextプロパティはNodeプロパティよりも優先度は下ですが、開発者は文字列値をDialogPaneのヘッダー領域やコンテンツ領域に設定するだけのことが多いため、一般的に開発者にとっての便宜性ははるかに高いといえます。

    headerおよびheaderTextプロパティ内に非null値を設定する意味を理解することが重要です。 重要な点は次のとおりです。

    1. headerプロパティはheaderTextプロパティよりも優先されるため、両方が非null値に設定されている場合はheaderが使用され、headerTextは無視されます。
    2. headerTextが非null値に設定されており、graphicも設定されている場合、グラフィックのデフォルト位置はコンテンツ領域の左側からヘッダー・テキストの右側に変更されます。
    3. headerが非null値に設定されており、graphicも設定されている場合、グラフィックはそのデフォルト位置(コンテンツ領域の左側)から削除されますが、カスタム・ヘッダー・ノードの右側には配置されません グラフィックが必要な場合は、カスタム・ヘッダー・ノードのレイアウトに手動で追加する必要があります。

    DialogPaneはButtonTypeの概念に基づいて機能します。 ButtonTypeは、DialogPane内に表示する必要がある単一ボタンの記述子です。 そのため、DialogPaneを作成する開発者は、getButtonTypes()メソッドを介して表示するボタン・タイプを指定する必要があります。このメソッドは、ユーザーが必要に応じて追加および削除できる変更可能なObservableListを返します。

    ButtonTypeクラスは、いくつかの事前定義済のボタン・タイプ(ButtonType.OKButtonType.CANCELなど)を定義します。 これらの事前定義済のボタン・タイプは、defaultおよびcancelボタンのサポートが組み込まれているうえ、JavaFXの変換先のすべての言語に文字列を変換できるという利点があるため、JavaFX dialogs APIの多くのユーザーのニーズを満たします。 (通常はカスタム・テキストを含むボタンを定義するために)独自のButtonTypeを定義しようとするユーザーは、ButtonTypeクラスで使用可能なコンストラクタを介してこれを定義できます。

    ButtonTypeクラスを使用した場合、開発者が構成できる範囲は多くありません。 これは意図されたことですが、ButtonTypeで作成した指定のボタンを開発者が変更できないということではありません。 変更するには、開発者はlookupButton(ButtonType)メソッドをButtonTypeとともに呼び出すだけです(getButtonTypes()リストですでに設定されている場合)。 返されるNodeは通常はButton型ですが、createButton(ButtonType)メソッドがオーバーライドされているかどうかによって異なります。

    DialogPaneクラスは、サブクラスによってオーバーライドできるいくつかのメソッドを提供しているため、より簡単にカスタム機能を有効にできます。 このようなメソッドには、次のようなものがあります。

    これらのメソッドはドキュメント化されているため、これらのメソッドを独自の機能でオーバーラードしようとする開発者に対して期待される内容に注意してください。

    導入されたバージョン:
    JavaFX 8u40
    関連項目:
    Dialog
    • プロパティの詳細

      • header

        public final ObjectProperty<Node> headerProperty
        ダイアログ・ペインのヘッダー領域を表すプロパティ。 このヘッダーが非null値に設定されている場合、DialogPaneの上部領域全体を占有することに注意してください。 また、DialogPaneクラスのjavadocで概説しているように、DialogPaneのレイアウトが'ヘッダー'レイアウトに切り替わります。
        関連項目:
        getHeader()setHeader(Node)
      • headerText

        public final StringProperty headerTextProperty
        ダイアログ・ペインのヘッダー・テキストを表すプロパティ。 ヘッダー・テキストの優先順位はheader nodeよりも低いため、ヘッダー・ノードとheaderTextプロパティの両方が設定されている場合、デフォルトのDialogPaneインスタンスではヘッダー・テキストは表示されません。

        headerTextが非null値に設定されると、DialogPaneクラスのjavadocで概説しているように、DialogPaneのレイアウトが'ヘッダー'レイアウトに切り替わります。

        関連項目:
        getHeaderText()setHeaderText(String)
      • contentText

        public final StringProperty contentTextProperty
        ダイアログ・ペインのコンテンツ・テキストを表すプロパティ。 コンテンツ・テキストの優先順位はcontent nodeよりも低いため、コンテンツ・ノードとcontentTextプロパティの両方が設定されている場合、デフォルトのDialogPaneインスタンスではコンテンツ・テキストは表示されません。
        関連項目:
        getContentText()setContentText(String)
      • expandableContent

        public final ObjectProperty<Node> expandableContentProperty
        ダイアログの展開が可能なコンテンツ領域を表すプロパティ。 この領域には任意のNodeを配置できますが、そのNodeはユーザーが展開可能な'Show Details'ボタンをクリックしたときにのみ表示されます。 展開可能なコンテンツ・プロパティがnullでない場合、このボタンは自動的に追加されます。
        関連項目:
        getExpandableContent()setExpandableContent(Node)
    • コンストラクタの詳細

      • DialogPane

        public DialogPane()
        スタイル・クラス'dialog-pane'を使用して新しいDialogPaneインスタンスを作成します。
    • メソッドの詳細

      • getGraphic

        public final Node getGraphic()
        プロパティgraphicの値を取得します。
        プロパティの説明:
        ヘッダー(ヘッダーが表示されている場合)またはcontentの左側に表示されるダイアログ・グラフィック。
      • setGraphic

        public final void setGraphic​(Node graphic)
        ヘッダー(ヘッダーが表示されている場合)またはcontentの左側に表示されるダイアログ・グラフィックを設定します。
        パラメータ:
        graphic - 新しいダイアログ・グラフィックか、グラフィックを表示しない場合はnull。
      • getHeader

        public final Node getHeader()
        ダイアログ・ペイン・ヘッダーとして動作するノード。
        戻り値:
        ダイアログ・ペインのヘッダー。
      • setHeader

        public final void setHeader​(Node header)
        ダイアログ・ペイン・ヘッダーを割り当てます。 任意のNodeを使用できます。
        パラメータ:
        header - DialogPaneの新しいヘッダー。
      • headerProperty

        public final ObjectProperty<Node> headerProperty()
        ダイアログ・ペインのヘッダー領域を表すプロパティ。 このヘッダーが非null値に設定されている場合、DialogPaneの上部領域全体を占有することに注意してください。 また、DialogPaneクラスのjavadocで概説しているように、DialogPaneのレイアウトが'ヘッダー'レイアウトに切り替わります。
        関連項目:
        getHeader()setHeader(Node)
      • setHeaderText

        public final void setHeaderText​(String headerText)
        ダイアログのヘッダー領域に表示する文字列を設定します。 ヘッダー・テキストの優先順位はheader nodeよりも低いため、ヘッダー・ノードとheaderTextプロパティの両方が設定されている場合、デフォルトのDialogPaneインスタンスではヘッダー・テキストは表示されないことに注意してください。

        headerTextが非null値に設定されると、DialogPaneクラスのjavadocで概説しているように、DialogPaneのレイアウトが'ヘッダー'レイアウトに切り替わります。

        パラメータ:
        headerText - ダイアログ・ヘッダー領域に表示する文字列
      • getHeaderText

        public final String getHeaderText()
        このDialogPaneに現在設定されているヘッダー・テキストを返します。
        戻り値:
        このDialogPaneの現在設定されているヘッダー・テキスト
      • headerTextProperty

        public final StringProperty headerTextProperty()
        ダイアログ・ペインのヘッダー・テキストを表すプロパティ。 ヘッダー・テキストの優先順位はheader nodeよりも低いため、ヘッダー・ノードとheaderTextプロパティの両方が設定されている場合、デフォルトのDialogPaneインスタンスではヘッダー・テキストは表示されません。

        headerTextが非null値に設定されると、DialogPaneクラスのjavadocで概説しているように、DialogPaneのレイアウトが'ヘッダー'レイアウトに切り替わります。

        関連項目:
        getHeaderText()setHeaderText(String)
      • getContent

        public final Node getContent()
        ダイアログ・コンテンツをNodeとして返します(setContentText(String)を使用してStringとして設定された場合も、これは単にNodeに変換されています(おそらくはLabel)。
        戻り値:
        ダイアログのコンテンツ
      • setContent

        public final void setContent​(Node content)
        ダイアログ・コンテンツを割り当てます。 任意のNodeを使用できます。
        パラメータ:
        content - ダイアログのコンテンツ
      • setContentText

        public final void setContentText​(String contentText)
        ダイアログのコンテンツ領域に表示する文字列を設定します。 コンテンツ・テキストの優先順位はcontent nodeよりも低いため、コンテンツ・ノードとcontentTextプロパティの両方が設定されている場合、デフォルトのDialogPaneインスタンスではコンテンツ・テキストは表示されないことに注意してください。
        パラメータ:
        contentText - ダイアログ・コンテンツ領域に表示する文字列
      • getContentText

        public final String getContentText()
        このDialogPaneに現在設定されているコンテンツ・テキストを返します。
        戻り値:
        このDialogPaneの現在設定されているコンテンツ・テキスト
      • contentTextProperty

        public final StringProperty contentTextProperty()
        ダイアログ・ペインのコンテンツ・テキストを表すプロパティ。 コンテンツ・テキストの優先順位はcontent nodeよりも低いため、コンテンツ・ノードとcontentTextプロパティの両方が設定されている場合、デフォルトのDialogPaneインスタンスではコンテンツ・テキストは表示されません。
        関連項目:
        getContentText()setContentText(String)
      • expandableContentProperty

        public final ObjectProperty<Node> expandableContentProperty()
        ダイアログの展開が可能なコンテンツ領域を表すプロパティ。 この領域には任意のNodeを配置できますが、そのNodeはユーザーが展開可能な'Show Details'ボタンをクリックしたときにのみ表示されます。 展開可能なコンテンツ・プロパティがnullでない場合、このボタンは自動的に追加されます。
        関連項目:
        getExpandableContent()setExpandableContent(Node)
      • getExpandableContent

        public final Node getExpandableContent()
        設定されている場合はダイアログの展開が可能なコンテンツ・ノードを、そうでない場合はnullを返します。
        戻り値:
        ダイアログの展開可能なコンテンツ・ノード
      • setExpandableContent

        public final void setExpandableContent​(Node content)
        ダイアログの展開が可能なコンテンツ・ノードか、展開可能なコンテンツを表示する必要がない場合はnullを設定します。
        パラメータ:
        content - ダイアログの展開可能なコンテンツ・ノード
      • isExpanded

        public final boolean isExpanded()
        dialogPaneが展開されているかどうかを返します。
        戻り値:
        dialogPaneが展開されている場合は、true。
      • setExpanded

        public final void setExpanded​(boolean value)
        dialogPaneが展開されるかどうかを設定します。 これは、表示するexpandable contentが存在する場合にのみ有効です。
        パラメータ:
        value - dialogPaneを展開する必要がある場合は、true。
      • getButtonTypes

        public final ObservableList<ButtonType> getButtonTypes()
        (createButtonBar()メソッドを介して作成された)ダイアログ・ボタン・バー領域に使用されるボタン・タイプの監視可能なリスト。 このリストのコンテンツを変更すると、ダイアログ・ペインでユーザーに対して表示されるボタンが即時に変更されます。
        戻り値:
        ユーザーが使用できるbutton typesObservableList
      • lookupButton

        public final Node lookupButton​(ButtonType buttonType)
        このメソッドは、開発者が指定されたButtonTypeの実際のNodeを取得するための方法を提供します(これがbutton typesリストに含まれている場合)。
        パラメータ:
        buttonType - Node表示をリクエストするButtonType
        戻り値:
        ボタン・タイプがbutton typesリストに含まれる場合のみ、createButton(ButtonType)により作成されたボタン・タイプを表すために使用されるNode。そうでない場合はnull。
      • createButtonBar

        protected Node createButtonBar()
        このメソッドは、ボタン・バーを提供するためにサブクラスによってオーバーライドされることがあります。 このメソッドをオーバーライドすることにより、開発者は次のようないくつかの責務を負う必要があります。
        1. 開発者は即時にすべてのbutton typesを繰り返し処理し、それぞれについてcreateButton(ButtonType)を呼び出す必要があります。
        2. 開発者は、リスナーをbutton typesリストに追加し、このリストが変更されたらボタン・バーを適宜更新する必要があります。
        3. 同様に、開発者はexpandable contentプロパティに対する変更を監視し、(createDetailsButton()メソッドを介して作成した) detailsボタンを追加および削除する必要があります。

        このメソッドのデフォルト実装では、新しいButtonBarインスタンスが作成されて返されます。

        戻り値:
        作成されたボタン・バー
      • createButton

        protected Node createButton​(ButtonType buttonType)
        このメソッドは、(createButtonBar()メソッドを介して作成した) DialogPaneボタン領域(一般にはButtonBarのインスタンス)に後から挿入されるカスタム・ボタンを作成するためにサブクラスによってオーバーライドできます。
        パラメータ:
        buttonType - 作成するボタンの基礎となるButtonType
        戻り値:
        指定されたButtonTypeを表すJavaFX Node (一般にはButtonのインスタンス)。
      • createDetailsButton

        protected Node createDetailsButton()
        このメソッドは、カスタム詳細ボタンを作成するためにサブクラスによってオーバーライドされることがあります。

        このメソッドをオーバーライドするには、次の2つの操作を実行する必要があります。

        1. ボタンには、マウス/キーボードの操作を処理し、expandedプロパティの状態を切り替えるための独自のコード・セットが必要です。
        2. ダイアログ・ペインが展開されているか縮小されているかによってボタンの外観が変わる場合、ボタンの外観を更新できるようにリスナーをexpandedプロパティに追加する必要があります。
        戻り値:
        作成された詳細ボタン
      • getClassCssMetaData

        public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
        戻り値:
        このクラスに関連付けられたCssMetaData。スーパークラスのCssMetaDataを含むことがあります。