ホームページ >Java >&#&チュートリアル >クラスの外で Java Swing ウィンドウの幅と高さを正確に取得するにはどうすればよいですか?
クラス外でウィンドウの幅と高さを取得する
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 サイトの他の関連記事を参照してください。