Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为WindowBuilder制作睡眠方法?[爪哇]_Java_Delay_Sleep_Wait_Windowbuilder - Fatal编程技术网

Java 为WindowBuilder制作睡眠方法?[爪哇]

Java 为WindowBuilder制作睡眠方法?[爪哇],java,delay,sleep,wait,windowbuilder,Java,Delay,Sleep,Wait,Windowbuilder,我一直在尝试用WindowsBuilder为Java编写睡眠方法,但没有成功。程序的运行方式与我所希望的相反,因此可以说,它先休眠,然后显示图形 我如何让程序在某个时间休眠(延迟、等待) package me.fractional.main; import java.awt.EventQueue; import javax.swing.JFrame; import me.fractional.main.Studio; import me.fractional.main.GUI; import

我一直在尝试用WindowsBuilder为Java编写睡眠方法,但没有成功。程序的运行方式与我所希望的相反,因此可以说,它先休眠,然后显示图形

我如何让程序在某个时间休眠(延迟、等待)

package me.fractional.main;

import java.awt.EventQueue;

import javax.swing.JFrame;
import me.fractional.main.Studio;
import me.fractional.main.GUI;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;
import java.awt.Color;



public class main {

public static boolean gamerunning = true;

private JFrame frmFractionalc;
static JLabel logo = new JLabel("");

public static void Sleep(int seconds)
{
    try {
        Thread.sleep(1000 * seconds);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                main window = new main();
                window.frmFractionalc.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

public main() {
    initialize();
    intro();
}

private void initialize() {
    frmFractionalc = new JFrame();
    frmFractionalc.getContentPane().setBackground(new Color(0, 139, 139));
    frmFractionalc.setBackground(new Color(0, 128, 128));
    frmFractionalc.setTitle("Fractional (C) - GameDevStory");
    frmFractionalc.setBounds(100, 100, 500, 300);
    frmFractionalc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frmFractionalc.getContentPane().setLayout(null);

    logo.setHorizontalAlignment(SwingConstants.CENTER);
    logo.setBounds(35, 50, 400, 150);
    frmFractionalc.getContentPane().add(logo);

}

public void intro()
{
    logo.setIcon(new ImageIcon(main.class.getResource("/me/fractional/main/logo.png")));
    Sleep(4);
}

}这类问题的标准答案:

  • 不要在主Swing线程、事件调度线程或EDT上调用
    Thread.sleep(…)
    ,因为将此线程置于睡眠状态会阻止它完成绘制应用程序以及与用户交互的工作,从而有效地将整个应用程序置于睡眠状态
  • 而是使用一个摆动计时器。我可以告诉你怎么做

感谢您的快速回答!我来看看,干杯@弗雷德里克山德:不客气。很幸运。对不起,我不太明白它是怎么工作的,你能举个例子吗D@FredrikSander:当然可以,请看一看。