Swing/ButtonGroupEmptySelection のバックアップ(No.10)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/ButtonGroupEmptySelection へ行く。
- 1 (2018-12-10 (月) 16:21:32)
- 2 (2019-05-07 (火) 19:25:24)
- 3 (2019-05-16 (木) 14:00:23)
- 4 (2019-11-28 (木) 15:42:02)
- 5 (2019-12-10 (火) 17:30:06)
- 6 (2021-06-11 (金) 15:01:28)
- 7 (2025-01-03 (金) 08:57:02)
- 8 (2025-01-03 (金) 09:01:23)
- 9 (2025-01-03 (金) 09:02:38)
- 10 (2025-01-03 (金) 09:03:21)
- 11 (2025-01-03 (金) 09:04:02)
- category: swing folder: ButtonGroupEmptySelection title: ButtonGroup内のボタンが選択されているかを確認する tags: [ButtonGroup, JToggleButton] author: aterai pubdate: 2018-12-10T16:19:43+09:00 description: ButtonGroup内のボタンが1つも選択されていない状態かどうかを確認します。 image: https://drive.google.com/uc?id=1EFXEFMWUlrctxFnVQEQbK1zeW3wSIhoROw
Summary
ButtonGroup
内のボタンが1
つも選択されていない状態かどうかを確認します。
Screenshot

Advertisement
Source Code Examples
ButtonGroup bg = new ToggleButtonGroup();
JPanel p = new JPanel();
Stream.of("A", "B", "C").map(JToggleButton::new).forEach(r -> {
r.setActionCommand(r.getText());
p.add(r);
bg.add(r);
});
JLabel label = new JLabel();
JButton button = new JButton("check");
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);
});
View in GitHub: Java, KotlinExplanation
ButtonGroup
内のボタンが1
つも選択されていない状態かどうかをButtonModel#getSelection()
メソッドがnull
を返すかどうかで確認- ButtonGroup#getSelection()メソッドのドキュメントには「選択されたボタンのモデルを返します。」とだけ解説されており、
1
つも選択されていない場合は何を返すかの記述がないButtonModel
のソースコードではその場合null
を返す実装になっている
参考リンク
- ButtonGroup#getSelection() (Java Platform SE 8)
- ButtonGroup中にある選択状態のJToggleButtonをクリックして選択解除可能にする
- ButtonGroup内のJRadioButtonなどの選択をクリア