私はJFrameを作成しましたが、サイズを取得しようとすると、私が期待していたものに比べて不正確な結果が出ています。JFrame:実際のコンテンツサイズを取得する
私は、それがエッジの周りのオペレーティングシステムの境界とタイトルバーを含むと判断しました。
レンダリングに使用できる実際のサイズはどのように取得/設定できますか?
私はJFrameを作成しましたが、サイズを取得しようとすると、私が期待していたものに比べて不正確な結果が出ています。JFrame:実際のコンテンツサイズを取得する
私は、それがエッジの周りのオペレーティングシステムの境界とタイトルバーを含むと判断しました。
レンダリングに使用できる実際のサイズはどのように取得/設定できますか?
あなたの質問は混乱しています:JPanelsにはタイトルバーやウィンドウの枠線がありません。これらはJFrameの内側にある抽象的なコンテナです。 JFramesは、タイトルバーとウィンドウ枠を持つオブジェクトです。
JPanel.getSize()
は意図したとおりに動作するはずです。しかし、は、実際のコンテンツ領域であるJPanel
を返すので、JFrame.getContentPane().getSize()
を使用することをお勧めします。
「JFrame」ではなく「JPanel」ですか?後者の場合は、 'frame.getContentPane()。getSize()'を使います。あなたはまた、[この質問](http://stackoverflow.com/questions/2796775/setting-the-size-of-a-contentpane-inside-of-a-jframe)有用であることがあります... –
ああ、申し訳ありませんが、はい、それはJFrameでした。私は信じられない、私はそれらを混同した。謝罪、私は問題を解決しました。 –
*「私はこれを間違って表現している可能性があります」*あなたの全体のアプローチが間違っている可能性が高いです。カスタムレンダリングされたコンポーネントでは、「私はどれくらい大きいのですか?」と尋ねるのが一般的です。それ以外の場合、レイアウトはアプリケーションなしでサイジングを自動的に処理する必要があります。これまでに寸法やサイズを求めています。 –