i recently code a system homepage that include the background image. After i set the background, the button that i created cannot show properly. It just appear after i use the mouse and point to the buttons' location. Can someone teach me how to fix this problem? Your help are appreciated. The codes are as below:

public class HomePage extends 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);

}

```