Wie sag ich einem JFrame das er sich dem Bildschirm anpassen soll?

3 Antworten

Habe noch nicht viel mit JFrames etc. programmiert, aber es sollte möglich sein, bei einem Eventaufruf des Fensters, wenn es seine Größe ändert eine Methode ausgeführt wird, die die neue Fenstergröße einließt und dann die Größe der jFrame neu setzt...

Hallo DeathNoteGood,

ich würde das so lösen:

import javax.swing.JFrame;
import java.awt.Dimension;
import java.awt.Toolkit;

import static java.awt.Frame.MAXIMIZED_BOTH;
import static javax.swing.WindowConstants.EXIT_ON_CLOSE;

public class Main {
    public static void main(String[] args) {
        new Main();
    }

    public Main() {
        JFrame mainFrame = new JFrame("Screen size");
        mainFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);

        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        mainFrame.setSize(screenSize);
        mainFrame.setExtendedState(MAXIMIZED_BOTH);

        mainFrame.setVisible(true);
    }
}
mainFrame.setExtendedState(MAXIMIZED_BOTH);

Sorgt dafür, dass das JFrame maximiert angezeigt wird. Dadurch wird der Bildschirm komplett ausgefüllt.

Dazu setze ich noch mit

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
mainFrame.setSize(screenSize);

Die JFrame Größe auf die Bildschirmgröße, damit das JFrame sich nicht komplett minimiert, wenn der Nutzer den JFrame Modus auf nicht-maximiert wechselt. Die Größe des JFrames sollte man nicht hart verdrahten, da die Bildschirmauflösung auch mal anders sein kann.

Ansonst hat regex9 ja schon auf Layoutmanager hingewiesen.

Gruß

Du hast also das Problem, dass sich deine Komponenten im Frame nicht responsive verhalten? Verwendest du denn Layout Manager?