gpt4 book ai didi

java - 为什么JFrame上有背景图片的按钮无法正常显示

转载 作者:行者123 更新时间:2023-11-30 02:43:48 29 4
gpt4 key购买 nike

我最近编写了一个包含背景图像的系统主页。设置背景后,我创建的按钮无法正常显示。它只是在我使用鼠标并指向按钮的位置后出现。有人可以教我如何解决这个问题吗?感谢您的帮助。代码如下:

公共(public)类 HomePage 扩展 JFrame{

private JPanel button = new JPanel();
private JButton time = new JButton("Bus Schedule");
private JButton reserve = new JButton("Booking");
private JButton info = new JButton("About Us");
Container con = getContentPane();


public HomePage(){

setTitle("Bus Reservation System");
setSize(650,500);
setLocation(360,100);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);

setBackground();
setButton();
}


public void setBackground(){

JLabel background = new JLabel(new ImageIcon("C:/User/Desktop/Assignment/bg.jpg"));
con.add(background);
background.setLayout(new FlowLayout());
con.add(button);

}


public void setButton(){

Font but = new Font("Serif" , Font.ITALIC , 20);

info.setFont(but);
time.setFont(but);
reserve.setFont(but);

button.add(info);
button.add(time);
button.add(reserve);

con.add(button);

}

最佳答案

调用 setVisible(true) 后,如果执行某些操作,则必须手动 validate()revalidate() 您的窗口.

在初始化窗口的所有所需设置和成员资格后,调用 setVisible() 会更简单。

/* setVisible(true); -- wrong place */
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setBackground();
setButton();
setVisible(true); // proper place

关于java - 为什么JFrame上有背景图片的按钮无法正常显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40837701/

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