Swing/ToggleButtonGroup のバックアップソース(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- バックアップ を表示
- Swing/ToggleButtonGroup へ行く。
- 1 (2016-06-06 (月) 00:24:55)
- 2 (2016-06-08 (水) 00:13:48)
- 3 (2017-02-27 (月) 18:46:58)
- 4 (2017-03-28 (火) 15:15:57)
- 5 (2017-04-07 (金) 13:51:51)
- 6 (2017-08-15 (火) 14:49:04)
- 7 (2018-08-14 (火) 16:23:30)
- 8 (2020-08-11 (火) 15:16:56)
- 9 (2022-01-01 (土) 01:43:51)
- 10 (2024-01-10 (水) 11:32:34)
- 11 (2025-01-03 (金) 08:57:02)
- 12 (2025-01-03 (金) 09:01:23)
- 13 (2025-01-03 (金) 09:02:38)
- 14 (2025-01-03 (金) 09:03:21)
- 15 (2025-01-03 (金) 09:04:02)
- 16 (2025-06-19 (木) 12:41:37)
- 17 (2025-06-19 (木) 12:43:47)
--- title: ButtonGroup中にある選択状態のJToggleButtonをクリックして選択解除可能にする tags: [ButtonGroup, JToggleButton] author: aterai pubdate: 2016-06-06T00:23:27+09:00 description: ButtonGroup中にある選択状態のJToggleButtonをもう一度クリックして選択を解除することができるように設定します。 --- * 概要 [#pd2d3f67] `ButtonGroup`中にある選択状態の`JToggleButton`をもう一度クリックして選択を解除することができるように設定します。 #download(https://lh3.googleusercontent.com/-xZ1YFhJedcg/V1Q_LKyzhzI/AAAAAAAAOao/S-uPsKtdlg8k1eWf2yCIGnh4Hw2r7bGNACCo/s800/ToggleButtonGroup.png) * サンプルコード [#q72dbcaa] #code(link){{ class ToggleButtonGroup extends ButtonGroup { private ButtonModel prevModel; private boolean isAdjusting; @Override public void setSelected(ButtonModel m, boolean b) { if (isAdjusting) { return; } if (m.equals(prevModel)) { isAdjusting = true; clearSelection(); isAdjusting = false; } else { super.setSelected(m, b); } prevModel = getSelection(); } } }} * 解説 [#l641ec4d] - `Default ButtonGroup` -- `ButtonGroup`に追加された`JTobbleButton`などは、すでに選択状態にあるボタンをクリックして選択解除することはできない - `Custom ButtonGroup(clears the selection)` -- `ButtonGroup#setSelected(...)`メソッドをオーバーライドし、選択状態にあるボタンをクリックした場合は、`ButtonGroup#clearSelection()`メソッドを呼び出してグループ内のすべてのボタンが選択されていない状態に戻す * 参考リンク [#v9540529] - [[ButtonGroup内のJRadioButtonなどの選択をクリア>Swing/ClearGroupSelection]] * コメント [#k59462e4] #comment #comment