2010-01-01 7 views
0

J'utilise un JToolBar personnalisé en utilisant le code suivant:image de fond JToolBar

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); 
    } 
} 

Maintenant l'image est visible. Mais j'ai un rectangle opaque autour de mes boutons. J'ai essayé de régler le bouton opaque sur false mais cela n'a pas ajouté d'effet. Merci pour le soutien

Répondre

2

Peut-être que vous devez utiliser:

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

Bien sûr, quand vous vous débarrasser de la frontière, alors vous ne voyez pas l'effet de cliquer sur le bouton.

Si vous avez besoin de plus d'aide poster votre SSCCE montrant le problème.

+0

Fait le travail! Merci. – Guy

0
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); 
}