ホームページ >Java >&#&チュートリアル >サイズ変更可能な JFrame を正確に中央に配置し、そのエッジとの衝突を検出するにはどうすればよいですか?
サイズ変更可能な JFrame での正確な中心位置の解決
クエリには、フレームのエッジとの正確な衝突検出と正確な中心の決定という 2 つの課題があります。画面サイズに関係なく。
衝突検出訂正
衝突検出で観察された 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 中国語 Web サイトの他の関連記事を参照してください。