gpt4 book ai didi

Java:如何将我的背景设置为显示按钮的图片

转载 作者:行者123 更新时间:2023-12-02 04:45:39 24 4
gpt4 key购买 nike

好吧,我知道如何添加背景图片,但如何让按钮显示。如果你有兴趣的话我正在制作乒乓球。

这是我的代码:

public class Gui extends JFrame{
private JButton JB;
private JButton EB;

public Gui(){
super("Pong");

JPanel outside = new JPanel();
JPanel inside = new JPanel();
setLayout(new BorderLayout());
this.setContentPane(new JLabel(new ImageIcon("S:\\Music\\Pong title pic.jpg")));

outside.setLayout(new BoxLayout(outside, BoxLayout.LINE_AXIS));
inside.setLayout(new BoxLayout(inside, BoxLayout.PAGE_AXIS));

outside.add(Box.createHorizontalStrut(280));
outside.add(inside);
outside.add(Box.createHorizontalStrut(20));

inside.add(Box.createVerticalStrut(20));
JLabel title = new JLabel("Pong");
inside.add(title);
inside.add(Box.createVerticalStrut(20));

JButton btt1 = new JButton("Start");
Dimension d = new Dimension(200,40);

btt1.setSize(d);
btt1.setMinimumSize(d);
btt1.setMaximumSize(d);
btt1.setPreferredSize(d);

JButton btt2 = new JButton("Credits");
btt2.setSize(d);
btt2.setMinimumSize(d);
btt2.setMaximumSize(d);
btt2.setPreferredSize(d);
JButton btt3 = new JButton("Exit");
btt3.setSize(d);
btt3.setMinimumSize(d);
btt3.setMaximumSize(d);
btt3.setPreferredSize(d);

inside.add(btt1);
inside.add(Box.createVerticalStrut(5));
inside.add(btt2);
inside.add(Box.createVerticalStrut(5));
inside.add(btt3);
inside.add(Box.createVerticalStrut(20));

add(outside);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(800,600);
this.setVisible(true);
this.setResizable(false);


}

}

感谢您的回复。

最佳答案

//setLayout(new BorderLayout());
this.setContentPane(new JLabel(new ImageIcon("S:\\Music\\Pong title pic.jpg")));
setLayout(new BorderLayout());

您设置了布局,但随后替换了框架的内容 Pane ,因此您失去了布局管理器。

设置内容 Pane 后,您需要设置布局。

请注意,您只能使用标签作为背景,因为标签的图像大于添加到标签的组件。

另外,不要尝试使用 setSize()、setPreferredSize()、setMinimumSize() 和 setMaximumSize() 来操纵按钮的大小。让按钮以其首选大小显示。

如果您希望按钮全部具有相同的大小,请首先使用 GridLayout 将按钮添加到面板中。您可以在创建 GridLayout 时指定组件之间的间距。或者您可以使用 GridBagLayout,它允许您指定“填充”每个单元格宽度的约束。

关于Java:如何将我的背景设置为显示按钮的图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29682708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com