gwt-widget - gegenseitig-exklusiv-toggle-button
Ich will ein hybrid aus ToggleButton und RadioButton.
Ich möchte die "sich gegenseitig ausschließen" Teil der RadioButton-Komponente und die gui-Aussehen und Verhalten des ToggleButton(up-und down-Zustände).
Hat einer schon vorhanden???
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich angepasst kirushik Lösung und erstellt eine einfache "ToggleButtonPanel" - widget, das dauert über eine beliebige Anzahl von ToggleButtons (und möglicherweise andere widgets, die Sie hinzufügen möchten) und eine Tafel Ihrer Wahl (standardmäßig VerticalPanel), und die Tasten ausschließen.
Was ist schön daran ist, dass das panel selbst feuert ClickEvents, wenn auf die Schaltflächen geklickt wird. Auf diese Weise können Sie fügen Sie eine einzelne ClickHandler der ToggleGroupPanel und dann feststellen, auf welche Schaltfläche geklickt wurde über das Ereignis.getSource()
Hier ist meine pure-gwt-Variante:
Sicherlich, man müssen die css-Formatvorlagen für gwt-ToggleButton mit Varianten (-bis-Sie schweben etc).
Habe ich etwas, das beide nicht in eine extension-Bibliothek, und nicht von einem panel-wie die anderen Antworten. Definieren Sie diese Klasse verwaltet die Tasten. Wir sind das hinzufügen eines neuen Klick-listener die Schaltflächen, die zusätzlich zu was auch immer click-handler angehängt in der "GUI-Content" Klasse. Ich kann nicht kopieren Sie und fügen Sie diese bei, so hoffentlich ist es syntatically richtig.
Kam in der gleichen Notwendigkeit, hier eine andere Lösung, die nicht entfernt mit dem separaten hf und arbeitet schön im UIBinder mit einer Erklärung wie:
Hier ist die erweiterte Klasse:
gwt-ext toggleButtons
"Dieses Beispiel veranschaulicht die Tasten. Wenn darauf geklickt wird, solche Buttons wechseln Ihre 'gedrückt' Zustand.
Fett, Kursiv und Unterstreichen die Tasten arbeiten unabhängig voneinander im Hinblick auf Ihre toggle-Zustand, während die text-Ausrichtung die Symbole gehören zu der gleichen toggle-Gruppe und so, wenn einer von Ihnen klicken, werden die zuvor gedrückte Taste wieder zu seiner normalen Zustand."
Registrieren, eine zusätzliche ClickHandler auf alle ToggleButtons.
Zum Beispiel, ToggleButtons Haus, Baum, Zusammenfassung, detail.
Natürlich, die Sie gerade brauchen, um alle anderen boilerplate-code und registrieren Sie sich weitere ClickHandlers für jeden ToggleButton.