2017-12-27 10 views
-1

私はをJFrameに丸めボタンのアイコンとして丸めを施す必要があります(はすべて)。ラウンドイメージをボタンアイコンとして使用して丸JButtonを作成できますか?

これまでのところ、私はこれらのものを探しましたが、イメージの代わりにテキスト(Making a round button by Java Examples)を使って丸いJButtonを見つけました。 I(マスキング用Maskingを見てきましたが、ボタンにそれを実装する方法を知りません以下のようにRoundButtonクラスのpaintComponent(g)方法に

答えて

0

変更を助けてください。

protected void paintComponent(Graphics g) { 
    g.setClip(new Ellipse2D.Double(0, 0, getWidth(), getHeight())); // set the area that shall be painted 
    g.drawImage(bim, 0, 0, getWidth(), getHeight(), null); // draw the image, if available 
    if (getModel().isArmed()) {  // show a slight gray shading when pressing the button 
     g.setColor(new Color(127, 127, 127, 80)); // gray with 80 as alpha 
     g.fillOval(0, 0, getSize().width - 1, getSize().height - 1); 
    } 
    super.paintComponent(g); 
} 

また、グローバル変数private BufferedImage bimを定義し、この方法でそれを設定します。これは、あなたのニーズに合わせて正常に動作する必要があります

public void setButtonImage(BufferedImage pbim) { 
    bim = pbim; 
    repaint(); 
} 

。このように、テキストとイメージを持つ丸いボタンがあります。

関連する問題