ホームページ >Java >&#&チュートリアル >クラスの外で Java Swing ウィンドウの幅と高さを正確に取得するにはどうすればよいですか?

クラスの外で Java Swing ウィンドウの幅と高さを正確に取得するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-20 09:42:10794ブラウズ

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

クラス外でウィンドウの幅と高さを取得する

Java Swing を使用する場合、さまざまな理由からウィンドウの寸法を取得することが必要になることがよくあります。要素のサイズ変更や位置変更など。ただし、getWidth() または getHeight() メソッドを定義されているクラスの外で呼び出すと、特にウィンドウのサイズが変更されている場合に、不正確な結果が返される可能性があります。

この問題に対処する 1 つのアプローチは、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();
        // ...
    }
}

このアプローチにより、次のことが可能になります。これにより、pain() メソッド内からの不正確になる可能性のある値に依存することなく、JPanel クラスの外部から正しいウィンドウの寸法を取得できます。

以上がクラスの外で Java Swing ウィンドウの幅と高さを正確に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。