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

クラスRadioMenuItem

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

    public class RadioMenuItem
    extends MenuItem
    implements Toggle

    RadioMenuItemは、切替えが可能なMenuItemです(Toggleミックスインが使用されます)。 つまり、RadioMenuItemには、RadioButtonToggleButtonなどToggleを使用する他のコントロールに本質的に非常によく似たAPIがあります。 RadioMenuItemは特にMenu内で使用するように設計されているため、MenuにRadioMenuItemを追加する方法の詳細は、MenuのクラスAPIのドキュメントを参照してください。

    グループ化されていない単純なRadioMenuItemを作成するには、次の手順を実行します。

    
    RadioMenuItem radioItem = new RadioMenuItem("radio text");
    radioItem.setSelected(false);
    radioItem.setOnAction(new EventHandler<ActionEvent>() {
        @Override public void handle(ActionEvent e) {
            System.out.println("radio toggled");
        }
    });
    

    前述の例には、通常のMenuItemを使用するよりも多くの利点はないという問題があります。 前述のように、RadioMenuItemの目的はユーザーに複数の選択肢を提供し、任意の1つの時点でこれらの選択肢のうち1つのみを選択できるようにすることです(つまり、選択は相互に排他的になります)。 これを実現するために、ゼロ個以上のRadioMenuItemをグループに配置できます。 グループの場合、そのグループ内で一度に1つのRadioMenuItemのみを選択できます。 2つのRadioMenuItemインスタンスを同じグループに配置するには、単にその両方のtoggleGroupに同じ値を割り当てます。 例:

    
    ToggleGroup toggleGroup = new ToggleGroup();
    
    RadioMenuItem radioItem1 = new RadioMenuItem("Option 1");
    radioItem.setOnAction(new EventHandler<ActionEvent>() {
        @Override public void handle(ActionEvent e) {
            System.out.println("radio toggled");
        }
    });
    radioItem1.setToggleGroup(toggleGroup);
    RadioMenuItem radioItem2 = new RadioMenuItem("Option 2");
    radioItem.setOnAction(new EventHandler<ActionEvent>() {
        @Override public void handle(ActionEvent e) {
            System.out.println("radio toggled");
        }
    });
    radioItem2.setToggleGroup(toggleGroup);
    
    
    この例では、RadioMenuItemが同じToggleGroupに割り当てられているため、一度に選択できるアイテムは1つだけです。選択が変更されると、ToggleGroupは前のアイテムの選択を解除します。
    導入されたバージョン:
    JavaFX 2.0
    関連項目:
    MenuItemMenu