Verständnisfragen LayoutManagers

moritzmoritz

Mitglied
Guten morgen,

ich beschäftige mich momentan mit Java und bin gerade dabei mich mit den LayOutManagern herumzuschlagen ...

möchte folgendes "Design" erzeugen:

TZq7w.png


Die schwarzen Boxen sollen beide in der Breite gleich bleiben. Bzw. kann ich irgendwie eine "Hauptbox" anlegen, an deren Breite sich alle anderen orientieren? Und kann ich irgendwie eine MinimumSize setzen, damit das Fenster nicht ganz klein wird :)

Vielen dank und einen guten Start ins Wochenende,

Moritz
 

moritzmoritz

Mitglied
Vielen dank!

Sag mal, gibt es eine Möglichkeit, Buttons mit einer fixen x/y-Koordinate zu fixieren? Also dass der im Center immer 10px oben und 10px links entfernt ist? :)

Moritz
 

moritzmoritz

Mitglied
Habe jetzt folgendes JPanel:

[JAVA=16]
public class Home extends JPanel
[/code]
dann habe ich den BorderLayout gemacht:
[JAVA=25]
setLayout(new BorderLayout(1,1));
[/code]
und anschließend ein JLabel :
[JAVA=38]
mTTT = new JLabel("Projektverwaltung");
[/code]

habe das Gerüst ein wenig umgestellt, oben habe ich jetzt einen weiteren Panel
[JAVA=42]
JPanel top = new JPanel();
top.setPreferredSize(new Dimension(800,150));
top.add(mTTT);
[/code]

ich hoffe ihr konntet mir folgen.

Zum Schluss noch
[JAVA=48]
add(top, BorderLayout.PAGE_START);
[/code]

Das funktioniert auch alles, habe auch ne Backgroundfarbe und die Größe passt auch alles, nur wie kann ich jetzt einfach das Label auf x: 10 und y: 10 setzen? Das will bei mir nicht :(


EDIT:
habe auf meinem Panel (oben) kein Layout und auch keine setLayout();


Moritz
 
Zuletzt bearbeitet:

L-ectron-X

Gesperrter Benutzer
Das "NullLayout" ist aber auf keinen Fall zu empfehlen. Es gibt für diese Art und Weise, Komponenten anzuordnen, nur sehr wenige Anwendungsfälle. Aus dem Stand fallen mir da auch keine ernsthaften ein.

@moritzmoritz: Du kannst keine weiteren Komponenten in bereits belegte Bereiche des BorderLayouts einfügen.
Wenn du das möchtest, solltest du dich nach einem anderen LayoutManager umsehen.
Kannst du mal eine Skizze posten, wie es aussehen soll?
 

Blakh

Bekanntes Mitglied
Ich kann das MigLayout empfehlen. Damit kann man so ziemlich alles machen. Ohne Skizze wird es aber schwer dir eines zu nennen.
 
V

vanny

Gast
Super, so einfach ._. dadurch, dass ich mich mit diesen ganzen Layouts beschäftigt habe ist mir das einfachste entfallen ...

Es ist einfach unschön, ohne LayoutManager zu arbeiten, wobei ich mal annehme, dass du auf deinem Panel (oben) sehr wohl ein LayoutManager hast. Da ist default das FlowLayout drauf.
Nur wenn du explizit setLayout(null); aufrufst, arbeitest du ohne(SOLLTEST ES ABER NICHT TUN :p).
 

moritzmoritz

Mitglied
@moritzmoritz: Du kannst keine weiteren Komponenten in bereits belegte Bereiche des BorderLayouts einfügen.
Wenn du das möchtest, solltest du dich nach einem anderen LayoutManager umsehen.
Kannst du mal eine Skizze posten, wie es aussehen soll?

So sieht es momentan aus:
odTNP.png


Bin auch zufrieden, das ist jetzt mein "Home" Panel, welches beim Start des Programms aufgerufen wird. Die anderen Panels für die Dashboardansicht etc. wollte ich dynamisch halten (wenn sich die Fenstergröße verändert sollte sich der Inhalt anapssen) - was wäre da die beste Möglichkeit?

Edit: Gibt es eine Möglichkeit unter Mac den Appnamen oben links in der Leiste zu verändern? Immoment steht dort (sehr unschön) mein Packagename :(

Moritz
 

Anhänge

  • odTNP.png
    odTNP.png
    32,8 KB · Aufrufe: 31

Ähnliche Java Themen

Neue Themen


Oben