NullLayout: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
K
K
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Java]]
+
[[Kategorie:LayoutManager]]
 
Das "NullLayout" ist kein [[LayoutManager der Standard-Java-API|LayoutManager]] im eigentlichen Sinn. Vielmehr wird damit ausgesagt, dass beim Erstellen einer [[GUI]] oder eines Teils davon der Standard-LayoutManager der betreffenden GUI-Komponente ausgeschaltet wird.
 
Das "NullLayout" ist kein [[LayoutManager der Standard-Java-API|LayoutManager]] im eigentlichen Sinn. Vielmehr wird damit ausgesagt, dass beim Erstellen einer [[GUI]] oder eines Teils davon der Standard-LayoutManager der betreffenden GUI-Komponente ausgeschaltet wird.
  
<code=java>container.setLayout(null);</code=java>
+
<syntaxhighlight lang="java">container.setLayout(null);</syntaxhighlight>
  
Die Positionierung von GUI-Komponenten muss dann manuell durch Angabe von relativen Bildschirm-Koordinaten durchgeführt werden.
+
oder aber auch bereits im Konstruktor eines {{JAPI|Container}}s:
 +
 
 +
<syntaxhighlight lang="java">... = new JPanel(null);</syntaxhighlight>
 +
 
 +
Die Positionierung und Dimensionierung von GUI-Komponenten muss dann manuell durch Angabe von relativen Bildschirm-Koordinaten und Dimensionen durchgeführt werden.
 +
 
 +
<syntaxhighlight lang="java">panel.setBounds(x, y, width, height);</syntaxhighlight>
  
 
Die Positionierung anhand von Koordinaten funktioniert nur auf dem Rechner, mit dem Betriebssystem und mit der kompilierenden Java-Version ordentlich, auf dem die Software entwickelt wurde.<br>
 
Die Positionierung anhand von Koordinaten funktioniert nur auf dem Rechner, mit dem Betriebssystem und mit der kompilierenden Java-Version ordentlich, auf dem die Software entwickelt wurde.<br>
Auf anderen Rechnern, [[Betriebssystem|Betriebssystemen]] und Java-Versionen kann die Anzeige der Komponenten völlig anders aussehen. Zum Beispiel kommt es zu unterschiedlichen Ausgaben der Dimensionen von Komponenten, Schriftarten und Abständen. Was auf dem einen System funktioniert, kann auf einem anderen System vielleicht schon nicht mehr lesbar sein, weil z.B. der Text in einem JLabel nicht mehr ganz hinein passt, etc. Eine Berechnung ist aufwändig, man muss viel testen.
+
Auf anderen Rechnern, [[Betriebssystem|Betriebssystemen]] und Java-Versionen kann die Anzeige der Komponenten völlig anders aussehen. Zum Beispiel kommt es zu unterschiedlichen Ausgaben der Dimensionen von Komponenten, Schriftarten und Abständen. Was auf dem einen System funktioniert, kann auf einem anderen System vielleicht schon nicht mehr lesbar sein, weil z.B. der Text in einem {{JAPI|JLabel}} nicht mehr ganz hinein passt, etc. Eine Berechnung ist aufwändig, man muss viel testen.
Auch wenn neue Komponenten hinzukommen sollen, oder sich die Anordnung mal ändern soll, ist man mit Koordinaten völlig im Nachteil. Man muss dann alles neu ausrichten, anpassen, ausprobieren. Es ist viel aufwändiger eine GUI ohne LayoutManager zu pflegen.
+
Auch wenn neue Komponenten hinzukommen sollen, oder sich die Anordnung mal ändern soll, ist man mit Koordinaten völlig im Nachteil. Man muss dann alles neu ausrichten, anpassen, ausprobieren. Es ist viel aufwändiger eine [[GUI]] ohne LayoutManager zu pflegen.
  
 
  Daher sollten GUIs in Java immer mit Hilfe von LayoutManagern gebaut werden!
 
  Daher sollten GUIs in Java immer mit Hilfe von LayoutManagern gebaut werden!

Aktuelle Version vom 2. April 2018, 15:58 Uhr

Das "NullLayout" ist kein LayoutManager im eigentlichen Sinn. Vielmehr wird damit ausgesagt, dass beim Erstellen einer GUI oder eines Teils davon der Standard-LayoutManager der betreffenden GUI-Komponente ausgeschaltet wird.

container.setLayout(null);

oder aber auch bereits im Konstruktor eines Containers:

... = new JPanel(null);

Die Positionierung und Dimensionierung von GUI-Komponenten muss dann manuell durch Angabe von relativen Bildschirm-Koordinaten und Dimensionen durchgeführt werden.

panel.setBounds(x, y, width, height);

Die Positionierung anhand von Koordinaten funktioniert nur auf dem Rechner, mit dem Betriebssystem und mit der kompilierenden Java-Version ordentlich, auf dem die Software entwickelt wurde.
Auf anderen Rechnern, Betriebssystemen und Java-Versionen kann die Anzeige der Komponenten völlig anders aussehen. Zum Beispiel kommt es zu unterschiedlichen Ausgaben der Dimensionen von Komponenten, Schriftarten und Abständen. Was auf dem einen System funktioniert, kann auf einem anderen System vielleicht schon nicht mehr lesbar sein, weil z.B. der Text in einem JLabel nicht mehr ganz hinein passt, etc. Eine Berechnung ist aufwändig, man muss viel testen. Auch wenn neue Komponenten hinzukommen sollen, oder sich die Anordnung mal ändern soll, ist man mit Koordinaten völlig im Nachteil. Man muss dann alles neu ausrichten, anpassen, ausprobieren. Es ist viel aufwändiger eine GUI ohne LayoutManager zu pflegen.

Daher sollten GUIs in Java immer mit Hilfe von LayoutManagern gebaut werden!


Fragen

Das Thema wurde nicht ausreichend behandelt? Du hast Fragen dazu und brauchst weitere Informationen? Lass Dir von uns helfen!

Wir helfen dir gerne!


Dir hat dieser Artikel gefallen? Oder Du hast Fehler entdeckt und möchtest zur Berichtigung beitragen? Prima! Schreibe einen Kommentar!

Du musst angemeldet sein, um einen Kommentar abzugeben.


Links