Java JFrame-Sachen an die Bildschirmgröße anpassen?
Hallo,
ich hab gerade mit JFrames angefangen, aber wenn man es mit
.setBounds(100, 200, 100, 100);
macht, legt man ja die Pixel fest.
Ich habe mal ein bisschen JavaScript gemacht und da gab es doch % glaube ich oder war das CSS? Auf jeden Fall konnte man da, glaube ich, alles an die Bildschirmgröße anpassen.
1 Antwort
Verwende Layout Manager. Mit ihnen kannst du deine Oberfläche flexibel gestalten.
Für den Aufbau deiner Oberfläche kannst du mittels Verschachtelung auch verschiedene Layouts kombinieren (Container 1 nutzt Layout Manager A, Container 2 nutzt Layout Manager B, usw.).
Beispiel:
var subPanel = new JPanel(new BorderLayout());
subPanel.add(new JLabel("Hello"), BorderLayout.PAGE_START);
var panel = new JPanel(new GridLayout(1, 2));
panel.add(subPanel);
Es gibt des Weiteren ein paar externe Bibliotheken (mehr oder weniger gut gepflegt), die noch weitere Layout Manager implementieren. Zum Beispiel MiGLayout, JSDL, UIHierarchy oder Pagelayout. Dies aber nur für den Fall, dass du mit den Standardoptionen des SDK nicht gut zurechtkommst.
Die setBounds-Methode wiederum kannst du direkt gleich wieder vergessen, denn sie wird nicht benötigt. Wenn du bestimmte Größen vorgeben möchtest, nutze setPreferredSize.
Das ist Java. Die Verkürzung des linksseitigen Typnamens ist seit Java 11 möglich.
Em das mit dem var sieht mr nach javascript aus oder ist das auch java?