2010-01-01 46 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 2010-01-01 21:51:34

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