0

我正在使用使用以下代码的自定义 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);
  }
}

现在可以看到图像了。但是我的按钮周围有一个不透明的矩形。我试图将按钮 opaque 设置为 false,但它没有增加任何影响。谢谢你的支持

4

2 回答 2

2

也许你需要使用:

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

当然当你去掉Border的时候,那么你就看不到点击按钮的效果了。

如果您需要更多帮助,请发布您的SSCCE 以显示问题。

于 2010-01-01T21:27:07.367 回答
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);
 }
于 2010-01-01T20:26:01.980 回答