2010-01-01 97 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); 
}