JTable im Fenster anzeigen - Per NullLayout gehts es nicht, per BorderLayout schon

@bERt0r
dein ‚Programm‘ von oben liegt mir immer noch übel im Magen, du solltest nicht über andere in Hinsicht ‚trollen‘ urteilen :wink:

das Beispiel 5 Komponenten millimetergenau nebeneinander anzuordnen ist eben ziemlich verrückt (in Diskussion um null-Layout),
an dieser Stelle wird wohl jeder Programmierer selber über Alternativen nachdenken und wenn FlowLayout bekannt, dann nicht ‚aus Prinzip‘ beim null-Layout hängen bleiben,
insofern ist es kein gutes Argument,

hier im Thread gab es bisher lediglich 10,10,500,500, eine klare Platzierung,
wer weiß was noch dazukommt, vielleicht ist ein Button daneben auf Höhe 100 gewünscht usw.,

das ist ganz was anderes und genau dasselbe Bild dann mit anderen Layout-Manager herzustellen eine erstmal größere Herausforderung,
in dem Bereich wäre also ein Vergleich der Codes fairer und würde nicht mehr so eindeutig aussehen…,

und zudem richtiger, wegen solcher Sachen wird an null-Layout gedacht, nicht wegen 5 Komponenten direkt nebeneinander…


andere Punkte kann man gut nennen, klare Sache, aber das Code-Beispiel eben ist unpassend

(das das gepostete Bild ein ‚Preview‘ war hatte ich nicht gemerkt, Richtung Prototyp usw. hatte ich nicht diskutiert, sollte eine beliebige GUI sein)

Ja und wenn du dir die GUI mal ansiehst wirst du feststellen dass die mit NullLayout nicht so einfach hinzukriegen ist, zumindest ohne Gui Builder. Die Einrückung der Labels z.B ist auf Pixel genau zu berechnen. Wenn man eine Komponente eben mal 10,10,500,500 in den Raum klatscht sieht das auch selten gut aus.

NullLayout ist eine Anfänger Falle. Es verleitet dazu schnell eine Gui lauffähig zu haben, wenn man dann will dass diese GUI funktioniert und gut aussieht beisst man sich am NullLayout die Zähne aus. Daher auch der Grund warum ich und andere ziemlich direkt von NullLayout abraten.

Und immer auch bedenken: Wenn die mit “NUllLayout” gebastelte GUI bspw. unter Windows passt, kann es unter Linux schon nicht mehr passen.
Es könnte zu Verschiebungen oder Verdeckungen kommen und das ganze Layout wäre für die Tonne.

@bERt0r
ach ja, sehe gerade auch wieder aktiv deinen Avatar,
in der Mission natürlich ein wenig mehr als üblich erlaubt :wink:

[quote=L-ectron-X]unter Windows passt, kann es unter Linux schon nicht mehr passen[/quote]Da muss man gar nicht mit der großen Keule kommen: der Wechsel der Windows-Version oder des "Theme"s reicht womöglich schon…

bye
TT

… nicht nur womöglich#

NullLayout ist die gleiche Todesfalle wie hungarische Notation. Einmal erlernt und “einverleibt” nur noch sehr schwer abzugewöhnen, man sollte, bevorzugt, gar nicht erst damit anfangen, egal wie “einfach” es Anfangs aussieht. Investiert man nur minimalstens mehr Zeit in das Erlernen von LayoutManager, als mit NullLayout rumzubasteln, kann man gleich komplett darauf verzichten.

bevor sich noch mehr täglich hierhin verirren setzte ich auf ‚gelöst‘ :wink:
wenn noch offen, bitte Rückmeldung/ selber zurücksetzen von Jack159

es stimmt, dass man sich mit nen nullLayout selber um größenänderungen usw kümmern muss, aber das geht eig ganz gut und wenn man halt mal wirklich komplizierte Layouts hat und man auch noch bestimmen will, dass nur bestimmte Controls ihre Größe ändern, wird das immer komplizierter wenn man nen Manager verwendet, während sich am nullLayout code fast nix ändert. Außerdem will ich persönlich eif die absolute kontrolle über die Positionen und Größen, weil die GUI so aussehen soll wie ich es will, und nicht wie es der Layout Manager will. Und schlussendlich finde ich es gut, dass man gezwungen wird, sich selber um das resizing zu kümmern, weil man sich dann genaue Gedanken drum machen muss, wie die GUI in welchen fall reagieren soll und man damit auf mögliche designfehler aufmerksam wird, die einem sonst vllt nicht aufgefallen wären

…nichts als Ausreden.
Ich habe noch keine komplexe GUI ohne Layoutmanager gesehen. Und ich möchte eine solche auch nicht warten.
Je mehr Komponenten in einer GUI sind, um so weniger Arbeit hat man bei der Dimensionierung und Positionierung, wenn man LMs benutzt.

…aber bitte, wenn man sich Arbeit aufhalsen möchte, dann arbeitet man mit NullAyout.