Ich habe ein sehr spezifisches Layout im Sinn, das ich seit einiger Zeit ohne Erfolg zu erreichen versuche. Das Layout, das ich erstellen möchte, besteht darin, ein einzelnes JPanel mit einer festen Höhe in der vertikalen Mitte des anderen Panels zu platzieren. Horizontal sollte es sich strecken, um den Grenzen des anderen zu entsprechen.Wie würde ich dieses Layout in Java Swing machen?
Auch hier sind die Anforderungen für sie sein:
- Zwei JPanels, eine innerhalb der anderen platziert
- der Innenplatte sollte eine statische Höhe haben
- dem Innenpaneel sollte vertikal zentriert
- Die innere Verkleidung sollte sich horizontal dehnen, um die Seiten der äußeren Verkleidung zu treffen.
Hier finden Sie ein Bild von einem Beispiel dafür:
Pro Anfragen mehrere Leute für mich, meinen Code zu schreiben, die nicht funktioniert:
JPanel MainPanel = new JPanel();
frmPhoneClicker.getContentPane().add(MainPanel);
MainPanel.setLayout(new MigLayout("", "[984px]", "[165px]"));
Panel subPanel = new JPanel();
subPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
MainPanel.add(subPanel, "cell 0 0 1 1,growx,aligny center");
Versuchen Sie einen Layout-Manager eines Drittanbieters wie MigLayout. Das sollte alles bieten, was Sie brauchen. Wenn Sie einen integrierten Layout-Manager verwenden möchten, können Sie [BoxLayout] (https://docs.oracle.com/javase/tutorial/uiswing/layout/box.html) verwenden. – Thomas
@Thomas Ich habe versucht, aber ich konnte nicht herausfinden, wie man die eine Zelle, ich habe es zu arbeiten, in den gesamten Raum der äußeren Platte zu machen. – ManOfPanda
Das sollte nicht zu schwer sein, nur die innere Platte wachsen lassen, aber nicht vertikal. Stellen Sie keine maximale Breite usw. ein. Wenn dies nicht funktioniert, können Sie Code anzeigen. – Thomas