Vậy đó. Tôi cần phải tạo một ButtonGroup cho phép chọn một tùy chọn hoặc, nếu người dùng nhấp vào tùy chọn đã chọn, bỏ chọn mục (không có gì sẽ được chọn) và, tất nhiên, nắm bắt sự kiện để làm điều gì đó.Cách tạo ButtonGroup của JToggleButton cho phép bỏ chọn tùy chọn thực tế?
Trả lời
Điều này cho thấy chính xác làm thế nào để làm điều đó http://java.dzone.com/articles/unselect-all-toggle-buttons
Chỉ trong trường hợp liên kết của Jeff bị phá vỡ trong tương lai, đây là những gì được mô tả: bạn cần phải phân lớp ButtonGroup để cho phép một không lựa chọn, và thêm các nút của bạn này buttongroup.
public class NoneSelectedButtonGroup extends ButtonGroup {
@Override
public void setSelected(ButtonModel model, boolean selected) {
if (selected) {
super.setSelected(model, selected);
} else {
clearSelection();
}
}
}
Hoặc một lớp bên trong vô danh sẽ đủ, ví dụ: 'ButtonGroup myGroup = new ButtonGroup() {/ * code từ trên * /};' – captainroxors
Ghi sự kiện để làm điều gì đó. Cũng làm như dưới đây.
@Override
public void actionPerformed(ActionEvent e) {
((JToggleButton)e.getSource()).setSelected(false);
}
EDIT: Nhưng không có ButtonGroup liên quan.
Giải pháp cho java trước 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);
}
}
tôi nhận thấy hành vi kỳ lạ khi làm button.setSelected(false)
vào một nút/hộp mà không được chọn. Nó bỏ chọn mọi thứ như thể tôi đã bỏ chọn thứ gì đó.
tôi cố định nó theo cách này:
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. Bỏ chọn lựa chọn mặc định trên JTextfield
- 2. cách bỏ chọn hộp chọn tùy chọn sau khi tính toán được thực hiện
- 3. Nghe trên ButtonGroup cho các thay đổi "con", và in văn bản đã chọn của JRadioButton
- 4. JQuery tạo tùy chọn chọn mới
- 5. AutoCompleteTextView chỉ cho phép các tùy chọn được đề xuất
- 6. Cách tạo chức năng tùy chỉnh cho bộ chọn jQuery
- 7. cách bỏ chọn tất cả các tùy chọn trong tiện ích đa lựa chọn
- 8. Tùy chọn khởi động Windows7 để cho phép các trình điều khiển chưa được bỏ qua bị bỏ qua
- 9. Tùy chỉnh TreeView để cho phép đa lựa chọn
- 10. Cách thêm tùy chọn mới trước tùy chọn cuối cùng của lựa chọn?
- 11. loại bỏ một lựa chọn trống của trường chọn được tạo bởi SimpleForm
- 12. KnockoutJS Chọn Tùy chọn và chọn Value
- 13. Python - scipy: mô-đun thơ ca ngợi: Vấn đề cho phép tùy chọn bước của giải
- 14. Xác thực tùy chọn. Android
- 15. Bỏ chọn các tùy chọn đã chọn trong nhiều menu và chọn nhóm
- 16. Cách tạo menu tùy chọn động?
- 17. jQuery xác thực - nếu một tùy chọn được chọn làm cho tùy chọn tiếp theo không được yêu cầu?
- 18. ddslick chọn tùy chọn giá trị bài đăng của tùy chọn đã chọn - plugin jquery
- 19. Chọn menu "giả" tùy chọn
- 20. Màu nền của tùy chọn đã chọn
- 21. cách tạo loại tùy chọn tùy chỉnh mới trong Magento?
- 22. Cách lấy giá trị tùy chọn của phần tử chọn
- 23. Tăng Tùy chọn Chương trình Thêm Tùy chọn Cú pháp
- 24. đặt tùy chọn "được chọn" thuộc tính từ tùy chọn được tạo động
- 25. tùy chọn chọn không làm việc cho chọn
- 26. Xác thực jQuery nhiều bộ chọn cho bỏ qua
- 27. Tạo một tập tin thực thi với nhiều tùy chọn
- 28. jqTransform Update Chọn Tùy chọn
- 29. Javascript để chọn Nhiều tùy chọn
- 30. Cách nhận ID tùy chọn đã chọn?
Đó có thể không phải là trực quan cho người dùng. Bạn có nghĩ về việc đưa ra một tùy chọn để đại diện cho trạng thái/sự lựa chọn tương ứng với việc bỏ chọn không? –