首頁 >Java >java教程 >如何在類別外準確取得Java Swing視窗的寬度和高度?

如何在類別外準確取得Java Swing視窗的寬度和高度?

Patricia Arquette
Patricia Arquette原創
2024-12-20 09:42:10789瀏覽

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

取得類別外的視窗寬度和高度

使用Java Swing 時,由於各種原因通常需要擷取視窗尺寸,例如調整元素大小或重新定位元素。但是,在定義它們的類別之外呼叫 getWidth() 或 getHeight() 方法可能會傳回不準確的結果,尤其是在調整視窗大小時。

要解決此問題,一種方法是傳遞 JPanel需要視窗尺寸的方法的實例。透過這樣做,您可以直接從該方法存取 getWidth() 和 getHeight() 方法。

例如,考慮以下程式碼:

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
    }
}

透過將 MyPanel 傳遞給myMethod() 方法,您可以確保它可以存取更新的視窗尺寸,即使視窗大小已調整。

public class MyOtherClass {

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

這種方法可讓您從 JPanel 類別外部取得正確的視窗尺寸,而不必依賴 Paint() 方法中可能不準確的值。

以上是如何在類別外準確取得Java Swing視窗的寬度和高度?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn