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

クラスSpinner<T>

  • 型パラメータ:
    T - Spinner内で反復処理できるすべての値のタイプ。 一般的なタイプにはIntegerやStringがあります。
    すべての実装されたインタフェース:
    Styleable, EventTarget, Skinnable


    public class Spinner<T>
    extends Control
    順序付けられたシーケンスからユーザーが数値またはオブジェクト値を選択できるようにする単一行のテキスト・フィールド。 通常、スピナーはシーケンスの要素間を移動するための小さな矢印ボタンのペアを提供します。 キーボードの上/下矢印キーでも要素間を自由に移動できます。 ユーザーがスピナーに直接(有効な)値を入力することもできます。 コンボ・ボックスも同様の機能を提供しますが、スピナーの方が好まれる場合があるのは、重要なデータを不明瞭化する可能性があるドロップ・ダウン・リストが不要であり、また、他の多くのJavaFX UIコントロールのようにObservableListデータ・モデルを使用せずに、wrappingなどの機能や、より単純な'無限'データ・モデルの仕様(SpinnerValueFactory)を使用できるためです。

    Spinnerのシーケンス値はSpinnerValueFactoryで定義します。 値ファクトリはコンストラクタ引数として指定し、value factory propertyを使用して変更できます。 JavaFXには、次に示す一般的なタイプのSpinnerValueFactoryクラスが用意されています。

    Spinnerには、Spinnerの現在のvalueの表示および変更を行う、editorと呼ばれるTextField子コンポーネントがあります。 Spinnerはデフォルトで編集不可能ですが、editable propertyをtrueに設定すると、入力を受け入れることができます。 Spinnerエディタは、値ファクトリのvalue propertyに対する変更をリスニングすることにより、値ファクトリとの同期を保ちます。 ユーザーがeditorに表示された値を変更した場合、Spinnerのvalueとeditorの値が異なってしまう可能性があります。 モデルの値をeditorの値と同じにするには、ユーザーが[Enter]キーを使用して編集をコミットする必要があります。

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

      • value

        public final ReadOnlyObjectProperty<T> valueProperty
        Spinnerのvalueプロパティは、SpinnerValueFactoryのvalue propertyにバインドされているため、読取り専用です。 value factoryが変更された場合、このvalue propertyは古い値ファクトリへのバインドが解除されて、新しい値ファクトリにバインドされます。

        開発者がvalue propertyを変更するには、次のフォームのコードを使用します。

         
         Object newValue = ...;
         spinner.getValueFactory().setValue(newValue);
         
        関連項目:
        getValue()
      • editable

        public final BooleanProperty editableProperty
        editableプロパティは、ユーザー入力をSpinner editorに入力できるようにするかどうかを指定するために使用します。 editableがtrueの場合、ユーザーが入力して[Enter]キーを押すと、ユーザー入力が受け入れられます。 この時点で、入力がSpinnerValueFactory converter StringConverter.fromString(String)メソッドに渡されます。 続いて、この(T型の)コールから返された値がSpinnerValueFactory.setValue(Object)メソッドに送信されます。 値が有効な場合、その値が保持されます。 値が無効な場合、値ファクトリはそれに応じた処理をし、この変更をバック・アウトする必要があります。
        関連項目:
        isEditable()setEditable(boolean)
      • promptText

        public final StringProperty promptTextProperty
        プロンプト・テキストが表示されない場合は、Spinnerまたはnullに表示するプロンプト・テキスト。
        導入されたバージョン:
        9
        関連項目:
        getPromptText()setPromptText(String)
    • フィールドの詳細

      • STYLE_CLASS_ARROWS_ON_RIGHT_HORIZONTAL

        public static final String STYLE_CLASS_ARROWS_ON_RIGHT_HORIZONTAL
        水平方向(左向きと右向き)の矢印がSpinnerの右側に配置されます。
        関連項目:
        定数フィールド値
      • STYLE_CLASS_ARROWS_ON_LEFT_VERTICAL

        public static final String STYLE_CLASS_ARROWS_ON_LEFT_VERTICAL
        垂直方向(上向きと下向き)の矢印がSpinnerの左側に配置されます。
        関連項目:
        定数フィールド値
      • STYLE_CLASS_ARROWS_ON_LEFT_HORIZONTAL

        public static final String STYLE_CLASS_ARROWS_ON_LEFT_HORIZONTAL
        水平方向(左向きと右向き)の矢印がSpinnerの左側に配置されます。
        関連項目:
        定数フィールド値
      • STYLE_CLASS_SPLIT_ARROWS_VERTICAL

        public static final String STYLE_CLASS_SPLIT_ARROWS_VERTICAL
        スピナーの幅全体にわたって上下に伸びた矢印が配置されます。
        関連項目:
        定数フィールド値
      • STYLE_CLASS_SPLIT_ARROWS_HORIZONTAL

        public static final String STYLE_CLASS_SPLIT_ARROWS_HORIZONTAL
        Spinnerの左側に減分矢印、右側に増分矢印が配置されます。
        関連項目:
        定数フィールド値
    • コンストラクタの詳細

      • Spinner

        public Spinner​()
        デフォルトの'spinner'スタイル・クラスおよび編集不可能なエディタを使用して、デフォルトのSpinnerインスタンスを構築します。
      • Spinner

        public Spinner​(int min,
                       int max,
                       int initialValue)
        value factorySpinnerValueFactory.IntegerSpinnerValueFactoryのインスタンスに設定して、Spinnerインスタンスを作成します。 このコンストラクタが呼び出された場合、Spinnerインスタンスの有効な汎用型はIntegerのみ(Spinner<Integer>)であることに注意してください。
        パラメータ:
        min - Spinnerの最小許容integer値。
        max - Spinnerの最大許容integer値。
        initialValue - 最初のインスタンス化時のSpinnerの値はmin引数とmax引数の範囲内にある必要があり、そうでない場合はminの値が使用されます。
      • Spinner

        public Spinner​(int min,
                       int max,
                       int initialValue,
                       int amountToStepBy)
        value factorySpinnerValueFactory.IntegerSpinnerValueFactoryのインスタンスに設定して、Spinnerインスタンスを作成します。 このコンストラクタが呼び出された場合、Spinnerインスタンスの有効な汎用型はIntegerのみ(Spinner<Integer>)であることに注意してください。
        パラメータ:
        min - Spinnerの最小許容integer値。
        max - Spinnerの最大許容integer値。
        initialValue - 最初のインスタンス化時のSpinnerの値はmin引数とmax引数の範囲内にある必要があり、そうでない場合はminの値が使用されます。
        amountToStepBy - 増分または減分するステップの量。
      • Spinner

        public Spinner​(double min,
                       double max,
                       double initialValue)
        value factorySpinnerValueFactory.DoubleSpinnerValueFactoryのインスタンスに設定して、Spinnerインスタンスを作成します。 このコンストラクタが呼び出された場合、Spinnerインスタンスの有効な汎用型はDoubleのみ(Spinner<Double>)であることに注意してください。
        パラメータ:
        min - Spinnerの最小許容double値。
        max - Spinnerの最大許容double値。
        initialValue - 最初のインスタンス化時のSpinnerの値はmin引数とmax引数の範囲内にある必要があり、そうでない場合はminの値が使用されます。
      • Spinner

        public Spinner​(double min,
                       double max,
                       double initialValue,
                       double amountToStepBy)
        value factorySpinnerValueFactory.DoubleSpinnerValueFactoryのインスタンスに設定して、Spinnerインスタンスを作成します。 このコンストラクタが呼び出された場合、Spinnerインスタンスの有効な汎用型はDoubleのみ(Spinner<Double>)であることに注意してください。
        パラメータ:
        min - Spinnerの最小許容double値。
        max - Spinnerの最大許容double値。
        initialValue - 最初のインスタンス化時のSpinnerの値はmin引数とmax引数の範囲内にある必要があり、そうでない場合はminの値が使用されます。
        amountToStepBy - 増分または減分するステップの量。
      • Spinner

        public Spinner​(ObservableList<T> items)
        value factorySpinnerValueFactory.ListSpinnerValueFactoryのインスタンスに設定して、Spinnerインスタンスを作成します。 Spinnerのvalue propertyは、要素が存在する場合はリストの最初の要素に設定され、存在しない場合はnullになります。
        パラメータ:
        items - Spinner内でステップ実行されるアイテムのリスト。
      • Spinner

        public Spinner​(SpinnerValueFactory<T> valueFactory)
        指定された値ファクトリを設定して、Spinnerインスタンスを作成します。
        パラメータ:
        valueFactory - 使用するvalue factory
    • メソッドの詳細

      • increment

        public void increment​(int steps)
        SpinnerValueFactory.increment(int)メソッドを呼び出して、ステップ引数をそれに転送することにより、指定したステップ数ずつのvalue factoryの増分を試みます。 value factoryがnullの場合、IllegalStateExceptionがスローされます。
        パラメータ:
        steps - 値に対して実行する増分の数。
        例外:
        IllegalStateException - getValueFactory()を呼び出すことによって返されたvalue factoryがnullの場合。
      • decrement

        public void decrement​(int steps)
        SpinnerValueFactory.decrement(int)メソッドを呼び出して、ステップ引数をそれに転送することにより、指定したステップ数ずつのvalue factoryの減分を試みます。 value factoryがnullの場合、IllegalStateExceptionがスローされます。
        パラメータ:
        steps - 値に対して実行する減分の数。
        例外:
        IllegalStateException - getValueFactory()を呼び出すことによって返されたvalue factoryがnullの場合。
      • createDefaultSkin

        protected Skin<?> createDefaultSkin​()
        このコントロールのデフォルト・スキンの新しいインスタンスを作成します。 これは、CSS -fx-skinを介してスキンが提供されていない場合にコントロール用のスキンを作成するために、または setSkin(...)を使用してサブクラスで明示的に設定するために呼び出されます。
        オーバーライド:
        createDefaultSkin 、クラス: Control
        戻り値:
        このコントロールのデフォルト・スキンの新しいインスタンス。 nullの場合、コントロールにはスキンがありません(Cssで提供されている場合を除く)。
      • commitValue

        public final void commitValue​()
        Spinnerがeditableの場合、このメソッドを呼び出すと、現在のテキストをコミットしてvalueに変換しようとします。
        導入されたバージョン:
        9
      • cancelEdit

        public final void cancelEdit​()
        Spinnerがeditableの場合、このメソッドを呼び出すと、エディタのテキストを最後にコミットされたvalueに置き換えようとします。
        導入されたバージョン:
        9
      • getValue

        public final T getValue​()
        プロパティvalueの値を取得します。
        プロパティの説明:
        Spinnerのvalueプロパティは、SpinnerValueFactoryのvalue propertyにバインドされているため、読取り専用です。 value factoryが変更された場合、このvalue propertyは古い値ファクトリへのバインドが解除されて、新しい値ファクトリにバインドされます。

        開発者がvalue propertyを変更するには、次のフォームのコードを使用します。

         
         Object newValue = ...;
         spinner.getValueFactory().setValue(newValue);
         
      • valueProperty

        public final ReadOnlyObjectProperty<T> valueProperty​()
        Spinnerのvalueプロパティは、SpinnerValueFactoryのvalue propertyにバインドされているため、読取り専用です。 value factoryが変更された場合、このvalue propertyは古い値ファクトリへのバインドが解除されて、新しい値ファクトリにバインドされます。

        開発者がvalue propertyを変更するには、次のフォームのコードを使用します。

         
         Object newValue = ...;
         spinner.getValueFactory().setValue(newValue);
         
        関連項目:
        getValue()
      • setValueFactory

        public final void setValueFactory​(SpinnerValueFactory<T> value)
        プロパティvalueFactoryの値を設定します。
        プロパティの説明:
        値ファクトリはJavaFX Spinner controlの背後にあるモデルであり、値ファクトリが導入されていない場合、Spinnerは使用できません。 次のようなSpinnerのほぼすべての局面を処理するのは、値ファクトリの役割です。
      • getValueFactory

        public final SpinnerValueFactory<T> getValueFactory​()
        プロパティvalueFactoryの値を取得します。
        プロパティの説明:
        値ファクトリはJavaFX Spinner controlの背後にあるモデルであり、値ファクトリが導入されていない場合、Spinnerは使用できません。 次のようなSpinnerのほぼすべての局面を処理するのは、値ファクトリの役割です。
      • setEditable

        public final void setEditable​(boolean value)
        プロパティeditableの値を設定します。
        プロパティの説明:
        editableプロパティは、ユーザー入力をSpinner editorに入力できるようにするかどうかを指定するために使用します。 editableがtrueの場合、ユーザーが入力して[Enter]キーを押すと、ユーザー入力が受け入れられます。 この時点で、入力がSpinnerValueFactory converter StringConverter.fromString(String)メソッドに渡されます。 続いて、この(T型の)コールから返された値がSpinnerValueFactory.setValue(Object)メソッドに送信されます。 値が有効な場合、その値が保持されます。 値が無効な場合、値ファクトリはそれに応じた処理をし、この変更をバック・アウトする必要があります。
      • isEditable

        public final boolean isEditable​()
        プロパティeditableの値を取得します。
        プロパティの説明:
        editableプロパティは、ユーザー入力をSpinner editorに入力できるようにするかどうかを指定するために使用します。 editableがtrueの場合、ユーザーが入力して[Enter]キーを押すと、ユーザー入力が受け入れられます。 この時点で、入力がSpinnerValueFactory converter StringConverter.fromString(String)メソッドに渡されます。 続いて、この(T型の)コールから返された値がSpinnerValueFactory.setValue(Object)メソッドに送信されます。 値が有効な場合、その値が保持されます。 値が無効な場合、値ファクトリはそれに応じた処理をし、この変更をバック・アウトする必要があります。
      • editableProperty

        public final BooleanProperty editableProperty​()
        editableプロパティは、ユーザー入力をSpinner editorに入力できるようにするかどうかを指定するために使用します。 editableがtrueの場合、ユーザーが入力して[Enter]キーを押すと、ユーザー入力が受け入れられます。 この時点で、入力がSpinnerValueFactory converter StringConverter.fromString(String)メソッドに渡されます。 続いて、この(T型の)コールから返された値がSpinnerValueFactory.setValue(Object)メソッドに送信されます。 値が有効な場合、その値が保持されます。 値が無効な場合、値ファクトリはそれに応じた処理をし、この変更をバック・アウトする必要があります。
        関連項目:
        isEditable()setEditable(boolean)
      • getEditor

        public final TextField getEditor​()
        プロパティ・エディタの値を取得します。
        プロパティの説明:
        Spinnerコントロールで使用するeditor。
      • promptTextProperty

        public final StringProperty promptTextProperty​()
        プロンプト・テキストが表示されない場合は、Spinnerまたはnullに表示するプロンプト・テキスト。
        導入されたバージョン:
        9
        関連項目:
        getPromptText()setPromptText(String)
      • getPromptText

        public final String getPromptText​()
        プロパティpromptTextの値を取得します。
        プロパティの説明:
        プロンプト・テキストが表示されない場合は、Spinnerまたはnullに表示するプロンプト・テキスト。
        導入されたバージョン:
        9
      • setPromptText

        public final void setPromptText​(String value)
        プロパティpromptTextの値を設定します。
        プロパティの説明:
        プロンプト・テキストが表示されない場合は、Spinnerまたはnullに表示するプロンプト・テキスト。
        導入されたバージョン:
        9
      • queryAccessibleAttribute

        public Object queryAccessibleAttribute​(AccessibleAttribute attribute,
                                               Object... parameters)
        このメソッドは、属性の値をリクエストするためにアシスティブ・テクノロジによって呼び出されます。

        このメソッドは一般に、特定の役割に必要な属性を実装するためにサブクラスによってオーバーライドされます。
        特定の属性が処理されない場合は、スーパークラスの実装を呼び出す必要があります。

        オーバーライド:
        queryAccessibleAttribute、クラス: Control
        パラメータ:
        attribute - リクエストされた属性
        parameters - オプションのパラメータ・リスト
        戻り値:
        リクエストされた属性の値
        関連項目:
        AccessibleAttribute
      • executeAccessibleAction

        public void executeAccessibleAction​(AccessibleAction action,
                                            Object... parameters)
        このメソッドは、引数で指定されたアクションの実行をリクエストするためにアシスティブ・テクノロジによって呼び出されます。

        このメソッドは一般に、特定の役割に必要なアクションを実装するためにサブクラスによってオーバーライドされます。
        特定のアクションが処理されない場合は、スーパークラスの実装を呼び出す必要があります。

        オーバーライド:
        executeAccessibleAction、クラス: Control
        パラメータ:
        action - 実行するアクション
        parameters - オプションのパラメータ・リスト
        関連項目:
        「AccessibleAction」