- ベストアンサー
ボタンに絵をはる方法(JBuilder)
JBuilderを使用してプログラムを組んでいるのですが、ボタンに絵を張りたいのです。 使用しているボタンはAWTコンポーネント内の"java.awt.Button"です。 ちなみにJBuilder Personal 8.0使用です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
絵を貼る、というか、paint()メソッドをオーバライドして その中でdrawImage()を使えばだいたいのコンポーネントにイメージが描画できます。 Buttonにだってやればできるんです。ただ、継承しなければならないのです。 Swingの方のJButtonは継承しなくてもイメージが貼り付けられるので、その点が簡単ということです。 Buttonにイメージを貼り付けるサンプルを書きます。 (コンストラクタは省略している) ------------------ import java.awt.*; public class ButtonA extends Button{ Image im = Toolkit.getDefaultToolkit().getImage("a.jpg"); public void paint(Graphics g){ g.drawImage(im, 3, 3, getSize().width - 6, getSize().height - 6, this); } } ----------------- このButtonAを、Buttonのかわりに使用すると中にa.jpgが表示されます。 ただ、ボタンのテキストは覆い隠されてしまいます。 #Canvasを使って自作すると言ったけど、こっちの方が簡単だったな。
その他の回答 (1)
- liar_adan
- ベストアンサー率48% (730/1515)
AWTのButtonには絵を貼り付けることはできなかったはずです。 SwingのJButtonにしませんか?それなら簡単なんだけど…。 もっとも全部をSwingにしなければならないなあ。 どうしてもAWTで実現するならば、Canvasを使ってボタンを自作するとか。
お礼
ご回答ありがとうございます。 >AWTのButtonには絵を貼り付けることはできなかったはずです。 そうなんですか・・・勉強不足でした。 AWTのコンポーネントで絵を張ることのできるコンポーネントはありますか? >どうしてもAWTで実現するならば、Canvasを使ってボタンを自作するとか。 具体的にどのような事でしょう? VBやDelphiのようには簡単でないのですね・・・
お礼
たびたびのご回答ありがとうございます。 まだJavaやJBuilder初心者の為、教えていただいたロジックをテストしてみようと思います。ありがとうございます。