Java JFrame 两个框架同时显示问题

Java JFrame Both Frames Show At the Same Time Issue

我正在制作一个程序,其中有两个 frames.When 我 运行 程序两个框架同时打开 time.I 希望当我 运行 程序 第一帧打开2秒然后自动隐藏然后第二帧应该出现.

这是我的第 1 帧代码:

public class Frame1 extends JFrame{

    private JLabel type;
    public Frame1(){    
    super("Frame 1");



    setLayout(null);
    type = new JLabel("This is Frame 1");
    type.setFont(new Font("Tahoma", Font.PLAIN, 51));
    type.setBounds(55, 227, 346, 52);
    add(type);


        setSize(500,600);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        setResizable(false);

        setVisible(true);

    }
}

第 2 帧代码:

public class Frame2 extends JFrame{

    private JLabel text;

        public Frame2(){
        super("Frame 2");
        getContentPane().setLayout(null);
        text = new JLabel("This is Frame 2");
        text.setFont(new Font("Tahoma", Font.PLAIN, 36));
        text.setBounds(10, 66, 244, 52);
        getContentPane().add(text);


        setSize(300,350);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setResizable(false);
        setVisible(true);

    }


}

主要:

public class Main {
public static void main(String[] args) {

    Frame1 obj = new Frame1();

    Frame2 obj2 = new Frame2();

}

}

obj.setState(JFrame.ICONIFIED); 您可以使用下面的代码来打开第一帧 持续 2 秒然后自动隐藏,然后是第二帧:

public class Main { 

  public static void main(String[] args) {
Frame1 obj = new Frame1();
try {
    Thread.sleep(2000);
    obj.setState(JFrame.ICONIFIED);
} catch (Exception e) {
}
Frame2 obj2 = new Frame2();
  }
 }

像这样改变你的主要class...

public class Main {
public static void main(String[] args) {

    Frame1 obj = new Frame1();

    try {
        Thread.sleep(2000);
    } catch (InterruptedException e) {      
        e.printStackTrace();
    }
    obj.setState(obj.ICONIFIED);

    Frame2 obj2 = new Frame2();

}

这将最小化第一帧并显示第二帧