• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javaのpaintについて)

Javaのpaintについての質問

このQ&Aのポイント
  • Javaのpaintメソッドでメニューバーが表示されない問題について解決方法を教えてください。
  • paintメソッドの引数が原因でメニューバーが表示されない問題について考えています。
  • 画像の表示処理を含めたいが、引数がないとメニューバーが表示されない問題についてアドバイスをいただきたいです。

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

  • ベストアンサー
回答No.3

>> (Swing にはキャンバスがないので) JFrame に JPanel を配置し、その JPanel の paint を使って下さい。 > > 「setSize(~)」はFrame のタイトルも含んだ Frame の外側サイズの設定になります。 > Frame のタイトル含まない Frame の内側のサイズの設定は下記のようになります。 > getContentPane( ).setPreferredSize(new Dimension(~)); > pack( ); // ←「setPreferredSize(~)」を使う場合は「pack( )」が必須です。 > setVisible(true); 具体的には下記のように「JPanel」を継承した Panel クラス(下記の例では「MyPanel」)を作って、JFrame に その「MyPanel」のインスタンスを配置して、その paint を使って下さい。 static class MyPanel extends JPanel { @Override public void paint(Graphics g){ Graphics2D g2 = (Graphics2D)g; // ↑ここの Graphics の実態は Graphics2D なので、 // キャストしてやれば Graphics2D のメソッドが使えるようになります。 } @Override public void update(Graphics g){ // Java のバージョンによって違うかもしれませんが、 // 動的なグラフィック表示をする場合は // update メソッドが存在しないと表示のチラツキの原因になる場合があります。 paint(g); } }

yasu_meumeu
質問者

お礼

詳しく教えていただきありがとうございます! 解決出来ました!

その他の回答 (2)

回答No.2

> (Swing にはキャンバスがないので) JFrame に JPanel を配置し、その JPanel の paint を使って下さい。 「setSize(~)」はFrame のタイトルも含んだ Frame の外側サイズの設定になります。 Frame のタイトル含まない Frame の内側のサイズの設定は下記のようになります。 getContentPane( ).setPreferredSize(new Dimension(~)); pack( ); // ←「setPreferredSize(~)」を使う場合は「pack( )」が必須です。 setVisible(true);

回答No.1

(Swing にはキャンバスがないので) JFrame に JPanel を配置し、その JPanel の paint を使って下さい。