概要

ButtonGroup内のボタンが1つも選択されていない状態かどうかを確認します。

サンプルコード

button.addActionListener(e -> {
  String txt = Optional.ofNullable(bg.getSelection())
    .map(b -> String.format("\"%s\" isSelected.", b.getActionCommand()))
    .orElse("Please select one of the option above.");
  label.setText(txt);
  // ButtonModel bm = bg.getSelection();
  // if (bm != null) {
  //   label.setText(String.format("\"%s\" isSelected.", bm.getActionCommand()));
  // } else {
  //   label.setText("Please select one of the option above.");
  // }
});
view all

解説

上記のサンプルでは、ButtonGroup内のボタンが1つも選択されていない状態かどうかをButtonModel#getSelection()メソッドがnullを返すかどうかで確認しています。

  • ButtonGroup#getSelection()メソッドのドキュメントには「選択されたボタンのモデルを返します。」とだけ解説されており、1つも選択されていない場合はで何が返されるかは記述されていない
    • ButtonModelのソースコードではその場合nullが返る実装になっている

参考リンク

コメント