Schwergewichtig?

sicLotus

Bekanntes Mitglied
Hallo, ich versuche gerade ein bísschen besser die Theorie rund um Java zu verstehen und bin auf den Begriff "Schwergewichtig" gestoßen.

Ich weiß das AWT schwergewichtig ist und das irgendwie damit zusammenhängt das das GUI je nach OS unterschiedlich aussieht.

Ich hab noch eine "Art" Definition gefunden:
Die Klassen des AWT sind den Oberflächenfunktionen der darunter liegenden Benutzungsoberfläche vorgelagert. Sie überlassen diesen zugrundeliegenden Oberflächenelementen die Darstellung. Daher nennt man sie auch "schwergewichtig".

Ich weiß nur leider nicht was das bedeutet und hoffte mir kann einer das leicht verständlich erklären.

mfg Lotus
 
S

SlaterB

Gast
Google
->
Lightweight and heavyweight-components
https://rz-static.uni-hohenheim.de/anw/programme/prg/java/tutorials/javainsel4/javainsel_15_002.htm

[Schwergewichtig:]
Leider zeigen die Programme unter den verschiedenen Betriebssystemen bisweilen merkwürdige Seiteneffekte. So kann ein Textfeld unter Windows weniger als 64K Zeichen aufnehmen, bei anderen Oberflächen ist dies egal. Da das AWT auch nur Komponenten anbietet, die auf jeder Plattform verfügbar sind, ist das Angebot an Widgets sehr beschränkt. Moderne grafische Elemente, sei es auch nur ein Icon auf einer Schaltfläche, sind vom AWT nicht vorgesehen.


Eine Leichtgewicht-Komponente (engl. lightweight component) besitzt keinen Peer, also keine direkte Repräsentation im Fenstersystem. Somit gibt es keine speziellen Implementierungen des Systems auf beispielsweise Windows, MacOS oder X11. Dieser Weg ist also plattformunabhängiger, aber leider auch langsamer. Alle Komponenten werden mit primitiven Zeichenoperationen gemalt, so etwa eine Schaltfläche aus einem Rechteck mit Schatten und einem Text in der Mitte. Der Vorteil: Eine Leichtgewicht-Komponente kann durchsichtig sein und muss nicht mehr in einen rechteckigen Bereich passen. Da alle Komponenten nun gemalt werden, lässt sich alles ohne Rücksicht auf das unterliegende grafische System zeichnen.
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Schwergewichtig bedeutet, dass die Elemente der Benutzeroberfläche vom Betriebssystem bezogen werden. Das hat wie du schon gesagt hast zur Folge dass die Oberfläche auf verschiedenen Systemen unterschiedlich aussieht.

Swing z.b. wäre leichtgewichtig. Swing nutzt nicht die Elemente des Betriebsystems, sondern zeichnet sich seine Buttons, Tabellen, etc. selbst.
Dadurch kannst du erreichen das dein Programm auch auf verschiedenen Betriebssystem (nahezu) identisch aussieht.
 

Neue Themen


Oben