Heim > Java > javaLernprogramm > Wie kann ich die Breite und Höhe des Java Swing-Fensters außerhalb einer Klasse genau ermitteln?

Wie kann ich die Breite und Höhe des Java Swing-Fensters außerhalb einer Klasse genau ermitteln?

Patricia Arquette
Freigeben: 2024-12-20 09:42:10
Original
710 Leute haben es durchsucht

How Can I Accurately Get Java Swing Window Width and Height Outside a Class?

Fensterbreite und -höhe außerhalb der Klasse abrufen

Beim Arbeiten mit Java Swing ist es aus verschiedenen Gründen oft notwendig, die Fensterabmessungen abzurufen B. die Größenänderung oder Neupositionierung von Elementen. Allerdings kann der Aufruf der Methoden getWidth() oder getHeight() außerhalb der Klasse, in der sie definiert sind, ungenaue Ergebnisse zurückgeben, insbesondere wenn die Fenstergröße geändert wird.

Um dieses Problem zu beheben, besteht ein Ansatz darin, das JPanel zu übergeben Instanz auf die Methode, die die Fensterabmessungen benötigt. Auf diese Weise können Sie innerhalb dieser Methode direkt auf die Methoden getWidth() und getHeight() zugreifen.

Betrachten Sie beispielsweise den folgenden Code:

public class MyPanel extends JPanel {

    private int jpWidth;
    private int jpHeight;

    @Override
    public void paint(Graphics g) {
        jpWidth = getWidth();
        jpHeight = getHeight();
        // ...
    }

    public void myMethod() {
        // Now you have access to `jpWidth` and `jpHeight` within this method
    }
}
Nach dem Login kopieren

Indem Sie MyPanel an übergeben Mit der myMethod()-Methode können Sie sicherstellen, dass sie Zugriff auf die aktualisierten Fensterabmessungen hat, auch wenn die Fenstergröße geändert wird.

public class MyOtherClass {

    public void myMethod(MyPanel panel) {
        int panelWidth = panel.getWidth();
        int panelHeight = panel.getHeight();
        // ...
    }
}
Nach dem Login kopieren

Mit diesem Ansatz können Sie die erhalten Korrigieren Sie die Fensterabmessungen außerhalb der JPanel-Klasse, ohne sich auf potenziell ungenaue Werte innerhalb der paint()-Methode verlassen zu müssen.

Das obige ist der detaillierte Inhalt vonWie kann ich die Breite und Höhe des Java Swing-Fensters außerhalb einer Klasse genau ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage