- ベストアンサー
Javaのpaintについての質問
- Javaのpaintメソッドでメニューバーが表示されない問題について解決方法を教えてください。
- paintメソッドの引数が原因でメニューバーが表示されない問題について考えています。
- 画像の表示処理を含めたいが、引数がないとメニューバーが表示されない問題についてアドバイスをいただきたいです。
- みんなの回答 (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); } }
その他の回答 (2)
- amanojaku1
- ベストアンサー率54% (265/488)
> (Swing にはキャンバスがないので) JFrame に JPanel を配置し、その JPanel の paint を使って下さい。 「setSize(~)」はFrame のタイトルも含んだ Frame の外側サイズの設定になります。 Frame のタイトル含まない Frame の内側のサイズの設定は下記のようになります。 getContentPane( ).setPreferredSize(new Dimension(~)); pack( ); // ←「setPreferredSize(~)」を使う場合は「pack( )」が必須です。 setVisible(true);
- amanojaku1
- ベストアンサー率54% (265/488)
(Swing にはキャンバスがないので) JFrame に JPanel を配置し、その JPanel の paint を使って下さい。
お礼
詳しく教えていただきありがとうございます! 解決出来ました!