Question

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

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 je reçois un rectangle opaque autour de mes boutons. J'ai essayé de mettre le bouton opaque à faux, mais il n'a pas ajouté aucun effet. Nous vous remercions pour le soutien

Était-ce utile?

La solution

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 après votre SSCCE montrant le problème.

Autres conseils

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);
 }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top