取得類別外的視窗寬度和高度
使用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中文網其他相關文章!