• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Java inset使用時に窓に余りが生じる)

Java inset使用時に窓に余りが生じる

このQ&Aのポイント
  • Java insetを使用するとウィンドウに空白の領域が生じる問題について
  • 質問者のPCのみで発生し、部室のPCでは問題が発生しない
  • 解決策を教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.1

実行順でしょうかね?内部サイズの取得がうまくいってないのだと思います。 Inset 取得前に frame.pack() してますか? java.awt.Frameでは必須でした。javax.swing.JFrameもたぶん同じと思っていたけど。。 以前作ったswing プログラムを見直すと、pack() の前に、frame.doLayout()もしている。 なにか不具合があって入れたのか、参考ソースにあっただけか忘れたけど。 最後に frame.setVisible(true); こんな手順 javax.swing.JFrame jframe = new javax.swing.JFrame(); /* 画面作成 jframe.getContentPane().add(panel) など */ // 再配置 jframe.doLayout(); /* 一旦画面表示後は validate()、revalidate() を使う */ // サイズ調整 jframe.pack(); java.awt.Insets insets = jframe.getInsets(); jframe.setSize( width + insets.left + insets.right, height + insets.top + insets.bottom ); /* int width, int height を外から与えています。 */ // 表示 jframe.setVisible(true);

noname#154721
質問者

お礼

今までのプログラム全て、pack()とdoLayout()を使わずに作っていましたw Javaを始めてからずっと続いてたバグ?の原因が分かり、すっきりしました。 ありがとうございました!

関連するQ&A