解決可調整大小的JFrame 中的精確中心定位
您的查詢提出了兩個挑戰:與框架邊緣的精確碰撞偵測並確定精確中心,無論螢幕尺寸為何。
碰撞偵測修正
碰撞偵測中觀察到的 10 像素偏移可能源自於對框架尺寸的誤解。 JFrame 包含邊框、JRootPane 和實際內容窗格周圍的其他元件。因此,您需要調整計算以考慮邊框的寬度和高度。
要獲得精確的可繪製區域,請使用以下公式:
Width - border.width Height - border.height
精確螢幕中心確定
要找到螢幕的確切中心,請考慮以下內容:
選擇使用哪個值取決於您的目的:
居中方法Frame
要輕鬆讓框架在螢幕上居中,請呼叫 Window#setLocationRelativeTo(null)。
或者,您可以使用以下公式:
JFrame frame = ...; Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); int x = (screenSize.width - frame.getWidth()) / 2; int y = (screenSize.height - frame.getHeight()) / 2; frame.setLocation(x, y);
以上是如何準確地將可調整大小的 JFrame 居中並偵測與其邊緣的碰撞?的詳細內容。更多資訊請關注PHP中文網其他相關文章!