JToolbar фоновое изображение

Я использую настроенный 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);
  }
}

Теперь изображение видно. Но я получаю непрозрачный прямоугольник вокруг моих кнопок. Я пытался установить кнопку непрозрачной на ложь, но это не добавило никакого эффекта. Спасибо за поддержку

2 ответа

Решение

Может быть, вам нужно использовать:

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

Конечно, когда вы избавляетесь от Границы, вы не видите эффекта нажатия на кнопку.

Если вам нужна дополнительная помощь, опубликуйте свой SSCCE, показывая проблему.

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);
 }
Другие вопросы по тегам