2010-01-01 2 views
0

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

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

ответ

2

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

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

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

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

+0

Выполнено задание! Спасибо. – 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); 
} 
Смежные вопросы