我正在制作一个有两帧的程序。当我运行程序时,两个帧同时打开。我希望当我运行程序时, 第一帧打开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();
}
}
答案 0 :(得分:1)
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();
}
}
答案 1 :(得分:1)
像这样改变你的主要课程......
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();
}
这将最小化您的第一帧并显示第二帧。