Warum verwendet SWT Stylebits?

Status
Nicht offen für weitere Antworten.

romulus

Mitglied
Vorsicht Anfängerfrage...

Ich gehe mal stark davon aus, dass die Jungs/Mädels hinter SWT schon wissen, was sie tun. Mir ist jedoch nicht ganz klar, warum in SWT überall die sogenannten Stylebits (z. B. SWT.BOLD) verwendet werden. Ließe sich das Ganze nicht auch mit einem enum-Typ realisieren? Wozu diese Konstanten? Hat das irgendeinen tieferen Sinn, der sich einem sowieso erst nach 10 Jahren Programmiererfahrung erschließt? :autsch:

Ich würde das gerne deshalb wissen, weil ich in einem eigenen Programm gerade darüber grüble, ob ich besser enums oder so etwas im Sinne von Stylebits verwenden sollte. (Konkret: Es geht um ein einfaches Concept Mapping Programm, in dem Node- und Link-Typen spezifiziert werden sollen.)

Danke im Voraus! :toll:
 

byte

Top Contributor
So siehts aus. Enums sind die besseren Bitkonstanten, aber SWT gibts mittlerweile seit etwa 4 Jahren und enums gibts erst seit Java SE5. Es gibt zwar auch bei den Bitkonstanten Konzepte, um diese Typsicher zu machen. Leider sind sie es bei SWT aber nicht und liegen alle in der selben Klasse. Daher muss man jedes mal nachschlagen, welcher Style nun bei welchem Widget bzw. Objekt passt. Das ist imo sehr lästig beim Programmieren von SWT-Anwendungen.

Bei eigenen Anwendungen würde ich immer typsichere enum Konstanten verwenden, es sei denn ich brauche zwingend Java 1.4 Kompatibilität.
 

romulus

Mitglied
Mensch, bin ich heute blond... :lol:
So klärt sich die Sache natürlich...

Mir ist aber eben noch eingefallen, dass sich Stylebits bekanntlich mit einem "|" kombinieren lassen; das scheint mit enum nicht so leicht realisierbar (man müsste wohl für jede Kombination einen eigenen enum-Typ hinzufügen).
 

byte

Top Contributor
Ja, das ist mir auch grad noch eingefallen. Das ist natürlich wiederum ein Vorteil der Bitkonstanten. Ich wüsste jetzt auf Anhieb nicht, wie man das mit enums realisieren könnte. Es würde mich aber nicht wundern, wenn selbst das geht, denn die enums sind ausdrucksstärker, als sie auf den ersten Blick aussehen.

Man kann die Bitkonstanten wie gesagt auch typsicher machen mit dem Typesafe Enum Pattern.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben