javax.swing.JButtonでボタンを作って、そこにベクター図を埋め込みたいです。ドーすれば良いですか?サンプルプログラムを書いてくださったり、参考になりそうなホームページを紹介してくださると幸いです。 ボタンに文字(text)を埋め込む方法なら知ってます。ビットマップ図(.pngファイルなど)のアイコンを埋め込む方法も知ってます(ググればサンプルコードが沢山ヒットします)。しかし、ベクトルグラフィックスを埋め込むとなると、ハイレベルでしょうか? javax.swing.JButton maru=new JButton();//ボタンのインスタンス生成 void paint(java.awt.Graphics g){g.fillOval(100,100,100,100);}//位置のxyも短径長径も100ピクセルの楕円黒丸 maruボタンにsetText("●");とするのは簡単なのですが、やりたい事と少し違います。"●"は文字ですし、これだと半径の設定が厳しいです(フォントサイズを変えれば良いのでしょうが)。 やりたい事は、 maru.setIcon(java.awt.Graphics g.fillOval(100,100,100,100));//半径100ピクセルの円をjava.awtで描いて、それをボタンに埋め込みたい ↑ このコードはエラーになるんです。悲しいです。何とかして、エラーを回避して、maruボタンにfillOval(100,100,100,100)を埋め込みたいです。 ボタンに埋め込む図がベクター図なら、java.awt.Graphics以外の方法でも良いです。だけど、JavaのJButtonを使いますし、javaでベクトルグラフィックスの絵を描くとなるとjava.awt.Graphicsを使うでしょうし、 maru.setIcon(java.awt.Graphics g.fillOval(100,100,100,100));みたいなプログラムが自然かなって思いました。 ***** (以下参考)試しにちょっと作ってみました。 class VectorButtonShitsumon extends java.awt.Frame{ public VectorButtonShitsumon(){setSize(500,500);setVisible(true);} public void paint(java.awt.Graphics g){g.fillOval(100,100,100,100);} public static void main(String[] args){ javax.swing.JFrame fr=new javax.swing.JFrame(); fr.setBounds(200,200,200,200); javax.swing.JButton maru=new javax.swing.JButton(); //maru.setIcon(java.awt.Graphics g.fillOval(100,100,100,100));//←エラーコード maru.setText("●");//setTextは嫌! fr.getContentPane().add(maru,java.awt.BorderLayout.CENTER); new VectorButtonShitsumon(); fr.setVisible(true); }//end main }//end class VectorButtonShitsumon ここまで コメントを外したときのエラーメッセージ Exception in thread "main" java.lang.Error: Unresolved compilation problems: 型 AbstractButton のメソッド setIcon(Icon) は引数 (void) に適用できません 型 Graphics の非 static メソッド fillOval(int, int, int, int) を static 参照することはできません トークン "g" に構文エラーがあります。このトークンを削除してください
↧