JPanel Bild positionieren?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Die Positionierung von Elementen wird in Swing über Layout Manager vorgenommen (Drittanbieter-Alternativen habe ich hier schon einmal aufgelistet). Von dem Versuch einer absoluten Positionierung solltest du besser absehen, wenn deine Oberfläche flexibel / nutzerfreundlich bleiben soll.


Junski1 
Fragesteller
 19.01.2022, 14:34

Ok. Mein eigentlicher Plan war es ein Bild in eine andere Zeile als ein anderes Bild zu machen. Doch das hatte auch nicht funktioniert. Weißt du wie man das schafft

0
regex9  19.01.2022, 15:13
@Junski1

Du könntest ein BoxLayout verwenden.

var panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(image1);
panel.add(image2);

Alle Komponenten in diesem Panel werden vom Layout auf der y-Achse angeordnet.

Dieses Panel könntest du nun in ein anderes Panel mit anderem Layout stecken oder in deinen Frame. Je nachdem, was du vorhast.

1
Junski1 
Fragesteller
 20.01.2022, 16:11
@Junski1

Doch was wenn ich Bild dann Text und dann Absatz machen möchte. Also z.B. panel.add(img1 + Text);

0
regex9  20.01.2022, 16:14
@Junski1

Du kannst Komponenten mit ihrem Layout schachteln. Zum Beispiel ein Panel mit FlowLayout, in dem Bild und Text liegen. Dieses Panel wiederum kann in ein Panel, welches seine Elemente via BoxLayout vertikal anordnet.

0
regex9  20.01.2022, 16:28
@Junski1

Nimm doch einfach mein obiges Snippet als Grundlage. Als erste Komponente fügst du eben nur kein Bild ein, sondern ein Panel, dem du Bild und Label (für den Text) zugefügt hast.

0