Search code examples
javaswingjtoolbar

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


Solution

  • 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.