To wszystko. Potrzebuję utworzyć ButtonGroup, która pozwala wybrać opcję lub, jeśli użytkownik kliknie na wybraną opcję, odznaczyć przedmiot (nic nie zostanie wybrane) i, oczywiście, uchwycić zdarzenie, aby coś zrobić.Jak utworzyć ButtonGroup z JToggleButton, która pozwala odznaczyć opcję?
Odpowiedz
To pokazuje dokładnie, jak to zrobić http://java.dzone.com/articles/unselect-all-toggle-buttons
Tylko w przypadku łącza Jeffa jest uszkodzony w przyszłości, oto co jest opisane: trzeba podklasy buttonGroup aby umożliwić żadnej selekcji i dodać przyciski do tego buttongroup.
public class NoneSelectedButtonGroup extends ButtonGroup {
@Override
public void setSelected(ButtonModel model, boolean selected) {
if (selected) {
super.setSelected(model, selected);
} else {
clearSelection();
}
}
}
Wystarczy anonimowa klasa wewnętrzna, np. 'ButtonGroup myGroup = new ButtonGroup() {/ * kod z powyższego * /};' – captainroxors
Uchwyć zdarzenie, aby coś zrobić. Wykonaj również poniższe czynności.
@Override
public void actionPerformed(ActionEvent e) {
((JToggleButton)e.getSource()).setSelected(false);
}
EDIT: Ale nie ma udział buttonGroup.
Roztwór do wstępnego 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);
}
}
Zauważyłem dziwne zachowanie podczas wykonywania button.setSelected(false)
w/przycisk wyboru, który nie został wybrany. Odznaczono wszystko tak, jakbym odznaczył coś.
Naprawiłem to w ten sposób:
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. Uzyskanie stanu JToggleButton
- 2. Z modułem optparse Pythona, jak utworzyć opcję, która pobiera zmienną liczbę argumentów?
- 3. Dodaj ButtonGroup do JPanel
- 4. JQuery utworzyć nową opcję wyboru
- 5. Alternatywa dla QButtonGroup, która nie pozwala na wybór?
- 6. Jak stworzyć aplikację, która pozwala tylko orientację poziomą?
- 7. Jak utworzyć klasę, która buforuje obiekty?
- 8. Jak utworzyć strukturę, która zawiera własną listę?
- 9. Jak utworzyć funkcję, która nic nie zwraca
- 10. Jak utworzyć klasę, która również jest listą?
- 11. Jak mogę odznaczyć pozycję w ListView?
- 12. Jak utworzyć typ złożony z procedury składowanej, która używa exec()?
- 13. jak utworzyć funkcję, która związana z comboboxami opcja
- 14. Knockout wyłącz opcję wybierz opcję
- 15. Aplikacja Shiny R, która pozwala użytkownikom modyfikować dane.
- 16. ConcurrentQueue, która pozwala mi czekać na jednego producenta
- 17. Wybierz następną opcję z jQuery
- 18. Jak utworzyć snapshots.img z konsoli?
- 19. Jak odznaczyć komórkę uitableview, gdy użytkownik wraca do kontrolera widoku?
- 20. Jak uzyskać ostatnią wybraną opcję z multiseleksu?
- 21. Jak uzyskać wybraną opcję z ListPreference?
- 22. Jak usunąć opcję usuwania z ActiveAdmin?
- 23. @ Html.DropDownListFor Jak dodać opcję?
- 24. Wybór2 rozwijane Multiple wybierz i odznaczyć
- 25. Wyłącz opcję Wykres Drukuj z HighCharts
- 26. JQuery funkcja .prop nie działa odznaczyć pole
- 27. Jak utworzyć funkcję, która konwertuje liczbę do szesnastkowo-szara?
- 28. Jak utworzyć bibliotekę DLL, która będzie używana w C#
- 29. Jak utworzyć tablicę złożoną, która zawiera maksymalną długość?
- 30. Spring: jak utworzyć instancję Spring bean, która pobiera parametr runtime?
To może nie być intuicyjne dla użytkownika. Czy zastanawiałeś się nad wyborem jednej opcji reprezentującej stan/wybór, który byłby zgodny z odznaczeniem? –