(Java) 我所有的按钮周围都有白色边框

(Java) There are white borders around all my buttons

在 java 中,我的按钮周围环绕着白色的粗边框,这些边框只有在 jlabel 中有图像作为背景时才会出现。

示例:

这里的问题是我所有的按钮周围都有白色边框,看起来很糟糕。预期用途是让按钮仅覆盖图像,如下图:

这是我的代码:

    public class Gui extends JFrame {
    private JTextField TextField;
    private JButton Hi, Bye, Exit;
    private JPanel Panel, Panel1, Panel2;
    private JLabel label;
            public Gui() {
            super("My Program");

            TextField = new JTextField("");
            TextField.setEditable(false);

            Hi = new JButton("Hi");
            Bye = new JButton("Bye");
            Exit = new JButton("Exit");

            Actions a = new Actions();

            Hi.addActionListener(a);
            Bye.addActionListener(a);
            Exit.addActionListener(a);

            Dimension tfd = new Dimension(780, 25);
            Dimension bd = new Dimension (75, 25);
            Dimension lpd = new Dimension (800, 600);

            TextField.setPreferredSize(tfd);

            Hi.setPreferredSize(bd);
            Bye.setPreferredSize(bd);
            Exit.setPreferredSize(tfd);

            ImageIcon image = new ImageIcon("C:/Users/Dakota/Desktop/Coding/Coding/img/Background.png");
            label = new JLabel(image);

            Panel = new JPanel();
            this.setContentPane(label);
            this.add(Panel);
            this.setLayout(new FlowLayout());
            Panel.add(TextField);
            Panel1 = new JPanel();
            this.add(Panel1);
            Panel1.add(Hi);
            Panel1.add(Bye);
            Panel2 = new JPanel();
            this.add(Panel2);
            Panel2.add(Exit);
}

您的问题似乎是您将 JPanel 添加到 GUI 而没有更改不透明 属性。此 属性 默认为 true,这意味着 JPanel 将绘制一个背景,在视觉上覆盖其下方的任何内容,但如果您通过调用 myPanel.setOpaque(false); 将其设置为 false,则 JPanel 下方的任何组件都将显示通过。这对于大多数 Swing 组件都是正确的,尽管对于 JScrollPanes 和 JTextComponents 等组件组件来说并不是很简单。