Guy
Guy

Reputation: 325

JToolbar background image

I'm using a customized JToolbar using the following code:

public class GeneralToolbar extends JToolBar{

  public GeneralToolbar() {
    super();
    setBackground(Color.white);
    setOpaque(true);
    setPreferredSize(new Dimension(54,54));
    setMinimumSize(new Dimension(54,54));
    setMaximumSize(new Dimension(54,54));
    setSize(new Dimension(54,54));
  }

  public void paintComponent(Graphics g) {
    super.paintComponent(g);
    Dimension size = this.getSize();
    ImageIcon image = DefaultAction.createImageIcon("/com/aaa/resources/tabback");
    g.drawImage(image.getImage(), 0,0, size.width, size.height, this);
  }
}

Now the image is seen. But I get a opaque rectangle around my buttons. I tried to set the button opaque to false but it didn't add any affect. Thank you for the support

Upvotes: 0

Views: 2126

Answers (2)

camickr
camickr

Reputation: 324098

Maybe you need to use:

button.setBorderPainted( false );
button.setContentAreaFilled( false );

Of course when you get rid of the Border, then you don't see the effect of clicking on the button.

If you need more help post your SSCCE showing the problem.

Upvotes: 2

Guy
Guy

Reputation: 325

public GeneralToolbar() {
    super();
    setBackground(Color.white);
    setOpaque(true);
    setPreferredSize(new Dimension(54,54));
    setMinimumSize(new Dimension(54,54));
    setMaximumSize(new Dimension(54,54));
    setSize(new Dimension(54,54));
}
public void paintComponent(Graphics g) {
    super.paintComponent(g);
   Dimension size = this.getSize();
   ImageIcon image = DefaultAction.createImageIcon("/com/aaa/resources/tabback");
   g.drawImage(image.getImage(), 0,0, size.width, size.height, this);
 }

Upvotes: 0

Related Questions