• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:GradientPaint を JPaneに仕組む)

JPaneにGradientPaintを使ったグラデーションを表示させる方法は?

このQ&Aのポイント
  • JPaneにGradientPaintを使って書いたグラデーションを表示させる方法がわかりません。
  • JLabelのようにaddで追加することができないため、実装方法に困っています。
  • アドバイスをいただけると助かります。

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

  • ベストアンサー
noname#161640
noname#161640
回答No.1

すみませんが、このコードからは、どういうことをしたいのかがわかりませんでした。どうもpaintComponentの役割が理解出来ていないように思えます。正直、どこから手を付けたらいいのやらわからないぐらい間違っています。アドバイスとかいうレベルではないでしょう。 推測ですが、JFrameかJAppletかそうしたところにJPanelとJLabelを組み込みたい。そしてJPanelにはGradientPaintを使ったグラフィックが描画されるようにしたい。そういうことでしょうか。 ならば、まず、JPanelを継承したクラスを定義し、その中にpaintComponentをオーバーライドして描画処理を用意してください。この中では、JLabelを組み込んだり絶対しないように! そして、ベースになっているクラス(JFrameとかJAppletを継承したクラスになっていると思います)のコンストラクタ(JAppletならinitなど)で、JPanelを継承したクラスとJLabelをaddで組み込んでください。 わかりますか? 「コンポーネントの組み込み」と「描画」は別の処理です。コンポーネントはコンストラクタなどの初期化をするところで組み込み、描画は表示の更新の際に呼び出されるメソッドをオーバーライドして組み込みます。 とりあえず、GradientPaintがどうだのといったことの前に、JavaとSwingの入門などを読んで基礎をしっかり理解されたほうが良いように思えます。このようなコードを書くということは、最低限必要な基礎知識がすっぽり抜け落ちていると思いますので。結局、そのほうが最終的には近道かと。

moegiaki
質問者

お礼

回答ありがとうございました。 >推測ですが、JFrameかJAppletかそうしたところに >JPanelとJLabelを組み込みたい。そしてJPanelには >GradientPaintを使ったグラフィックが描画されるようにしたい。 >そういうことでしょうか。 その通りです。また、ご指摘通り >「コンポーネントの組み込み」と「描画」は別の処理です。 ということを理解しておらず、行き詰っていました。 基礎が成っていないことがよくわかりました。 参考書を購入し、再度勉強し直そうと思います。 わかり易く丁寧な回答をしてくださり、 本当にありがとうございました!!

関連するQ&A