就是這樣。我需要創建一個ButtonGroup,它允許選擇一個選項,或者,如果用戶點擊選定的選項,取消選擇該項目(不會選擇任何內容),當然,捕獲該事件來執行某些操作。如何創建允許取消選擇實際選項的JToggleButton的ButtonGroup?
8
A
回答
4
9
萬一傑夫的鏈路在未來破,這裏就是我們的描述: 你繼承的ButtonGroup允許無選擇,並添加按鈕,這ButtonGroup中。
public class NoneSelectedButtonGroup extends ButtonGroup {
@Override
public void setSelected(ButtonModel model, boolean selected) {
if (selected) {
super.setSelected(model, selected);
} else {
clearSelection();
}
}
}
+1
或者一個匿名的內部類就足夠了,例如,`ButtonGroup myGroup = new ButtonGroup(){/ * code from * /};`` – captainroxors 2014-05-19 17:18:36
0
捕獲事件來做某件事。也做下面。
@Override
public void actionPerformed(ActionEvent e) {
((JToggleButton)e.getSource()).setSelected(false);
}
編輯: 但沒有涉及到ButtonGroup中。
0
解決方案前的Java 1.6
public class NoneSelectedButtonGroup extends ButtonGroup {
private AbstractButton hack;
public NoneSelectedButtonGroup() {
super();
hack = new JButton();
add(hack);
}
@Override
public void setSelected(ButtonModel model, boolean selected) {
super.setSelected(selected ? model : hack.getModel(), true);
}
}
0
對未選擇按鈕/複選框做button.setSelected(false)
時,我注意到怪異的行爲。它取消了所有的選擇,就好像我取消了一些選擇一樣。
我固定它是這樣的:
public class NoneSelectedButtonGroup extends ButtonGroup {
@Override
public void setSelected(ButtonModel model, boolean selected) {
if (selected) {
super.setSelected(model, selected);
} else if (getSelection() != model) {
clearSelection();
}
}
}
相關問題
- 1. 取消選擇JToggleButton
- 2. 如何在選擇和取消選擇時固定JToggleButton大小?
- 3. 不允許在列表框中取消選擇/取消選擇
- 4. 允許的選項:選擇:錯誤
- 5. 取消選擇與jQuery選擇選項需要滾動實際顯示
- 6. 不允許選擇的值被選擇
- 7. 如何創建兩個選擇列表並只允許一個選擇?
- 8. 如何取消選擇多選中的選定選項?
- 9. 如何在2個按鈕被選中後取消選擇一個按鈕JToggleButton
- 10. jQuery選擇選項取消選擇
- 11. @ Html.RadioButtonFor允許單選允許選定的選項
- 12. AutoCompleteTextView只允許建議的選項
- 13. 只允許在選擇框中選擇一個選項多個
- 14. 選擇多隻允許一個選擇某些選項
- 15. 如何取消選擇一個選擇框中的項目?
- 16. <選項值不允許選擇第一個選項
- 17. jquery - 如何檢查選擇選項被取消選擇?
- 18. 如何取消選擇md-select中的選定選項Angular2
- 19. 如何取消選擇多選部件中的所有選項
- 20. 篩選ng選項時,如何取消選擇所有篩選出的選項?
- 21. 取消選擇iPhone中的選項
- 22. 如何在ButtonGroup中選擇多個JCheckBoxe?
- 23. iphone dev:取消選擇(或取消選中)選定的選項卡項目
- 24. QListWidget取消選擇和多項選擇
- 25. 在JToggleButton中保存選擇
- 26. DbLookUpComboBox不允許選擇項目
- 27. 如何取消選擇所有選擇
- 28. 如何選擇和取消選擇Android
- 29. 實際上取消選擇TreeView中的所有節點(.NET)
- 30. 如何在ListView只允許1選擇的項目在時間
這也許不是直觀的用戶。你是否考慮過提供一個選項來表示與取消選擇相對應的狀態/選擇? – 2011-02-05 00:05:12