• ベストアンサー

ボタンに絵をはる方法(JBuilder)

JBuilderを使用してプログラムを組んでいるのですが、ボタンに絵を張りたいのです。 使用しているボタンはAWTコンポーネント内の"java.awt.Button"です。 ちなみにJBuilder Personal 8.0使用です。

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

  • ベストアンサー
  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.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を使って自作すると言ったけど、こっちの方が簡単だったな。

t-tree
質問者

お礼

たびたびのご回答ありがとうございます。 まだJavaやJBuilder初心者の為、教えていただいたロジックをテストしてみようと思います。ありがとうございます。

その他の回答 (1)

  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.1

AWTのButtonには絵を貼り付けることはできなかったはずです。 SwingのJButtonにしませんか?それなら簡単なんだけど…。 もっとも全部をSwingにしなければならないなあ。 どうしてもAWTで実現するならば、Canvasを使ってボタンを自作するとか。

t-tree
質問者

お礼

ご回答ありがとうございます。 >AWTのButtonには絵を貼り付けることはできなかったはずです。 そうなんですか・・・勉強不足でした。 AWTのコンポーネントで絵を張ることのできるコンポーネントはありますか? >どうしてもAWTで実現するならば、Canvasを使ってボタンを自作するとか。 具体的にどのような事でしょう? VBやDelphiのようには簡単でないのですね・・・

専門家に質問してみよう