我使用以下代码使用自定义的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,但没有增加任何影响。谢谢你的支持

有帮助吗?

解决方案

也许您需要使用:

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);
 }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top