Gibt es in Java einen standardmäßigen GUI-Wechselschalter?

8

Gibt es eine Standardimplementierung oder -bibliothek, die in Swing einen GUI-Wechselschalter bereitstellt? Ich weiß, Swing bietet eine Schaltfläche , aber die UX lässt ein bisschen zu wünschen übrig. Ich suche das:

Gibt es auch einen kanonischen Ausdruck für diese Art von Kontrolle? Das Apple HIG bezeichnet es als UISwitch. Ich habe auch versucht nach "toggle switch" zu suchen, aber ich hatte nicht viel Glück. (Viele JavaScript-Ergebnisse, aber nichts natives.)

    
cbednarski 05.02.2012, 03:29
quelle

3 Antworten

8

Sie können es nachahmen, indem Sie zwei Symbole verwenden, um on & amp darzustellen; aus, dann setze diese auf JToggleButton .

Nebenbei möchten die Benutzer logische und konsistente GUIs sehen, die den "Pfad der geringsten Überraschung" darstellen. Entwickler denken, dass die Benutzer eine "schöne, clevere" GUI wollen (und dass sie eine entwerfen können). Warum um alles in der Welt wollten sie eine solche Kontrolle über einen Standard-Toggle-Button?

    
Andrew Thompson 05.02.2012, 03:39
quelle
5

Ich kenne keinen Standard, aber Gerrit Grunwald , der die Komponenten der Steel Series erstellt, hat eine Implementierung von diesem erstellt ruft ein Steel Checkbox

auf

    
Tim Sparg 24.03.2012 11:51
quelle
4

Swing hat keinen Standardschalter wie den von Ihnen beschriebenen. Ihre beste Wette, wenn Sie keine dritte Partei finden können, wäre es, einfach eine zu schreiben. Die Art, wie ich mich ihnen nähern würde, wäre eine einfache Struktur wie diese:

JLabel
• Überschreiben paintComponent
• Überprüfen Sie den Zustand mit isOn()
• Fügen Sie einen MouseListener hinzu, um den Status umzuschalten.
• Bei der benutzerdefinierten Bemalung würden Beschriftungswerte und -größen berücksichtigt.

Ich könnte Ihnen eins schicken, das ich vor einiger Zeit geschrieben habe, aber Sie haben wahrscheinlich eine sehr genaue Vorstellung davon, was Sie wollen, also könnte es die halbe Stunde wert sein, es zu konstruieren.

    
rtheunissen 05.02.2012 03:39
quelle