java 图形化中使用JFrame添加了两个JLable标签,标签的位置显示没有对应setBounds,应该如何解决?

jb1标签和time标签两个的位置只有一个是正确的,jb1的位置正确则time的位置错误,time的位置正确则jb1的位置错误

源代码如下:

public class Testmenu extends JFrame
{
Timer timer;

public Testmenu() 
{
    setSize(1000,600);
    setLocation(250,95);
    setUndecorated(true);        //去除边框,但无法拖动窗口
    setResizable(false);        //是否可改变窗口大小
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
    init();
    timeshow();
}

public void init() 
{
    JLabel jb1=new JLabel("图书馆");
    jb1.setBounds(400, 50, 200, 100);
    jb1.setFont(new Font("宋体",Font.BOLD,50));
    this.add(jb1);
    
    JButton out=new JButton("退出");            //退出按钮
    out.setBounds(925,0,75,50);
    this.add(out);
    out.setBorderPainted(true);        //边界是否可见
    out.addActionListener(event->this.dispose());        
}    

public void timeshow()
{
    JLabel time=new JLabel();
    time.setFont(new Font("宋体",Font.BOLD,15));
    time.setBounds(800,500,300,20);
    this.add(time);
    timer = new Timer(1000, (e)->{
        SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        time.setText(sdf.format(new Date()).toString());
    });
    timer.start();
    
}

}

img