java - 为 WindowBuilder 制作 sleep 方法? [Java]

标签 java delay sleep wait windowbuilder

我一直在尝试使用 WindowsBuilder 为 Java 编写 sleep 方法,但没有成功。该程序的运行方式与我想要的相反,也就是说,它会 hibernate ,然后显示图形。

我如何让程序 hibernate (延迟,等待)一段时间?

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);
}

}

最佳答案

此类问题的标准答案:

  • 请勿调用Thread.sleep(...)在主 Swing 线程、事件调度线程或 EDT 上,因为将此线程置于 sleep 状态会阻止它完成绘制应用程序以及与用户交互的工作,从而有效地使整个应用程序进入休眠状态。
  • 而是使用 Swing 计时器。 Swing Timer tutorial可以向您展示如何操作。

关于java - 为 WindowBuilder 制作 sleep 方法? [Java],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17000103/

相关文章:

java - 我正在尝试将一串单词转换为包含空格的数组

Java Hashtable#hashCode() 实现坏了?

java - asm 字节码中的字符串相等性

c# - Xamarin iOS Sleep UI线程不起作用

java - 如何使用 JavaFX 使 Label 的内容在一秒后发生变化?

javascript - 单击行时无法转到新 Activity

java - 延迟 boolean 值切换回 false

matlab - 函数等待执行

audio - FFmpeg - 仅延迟音频链接 dshow 输入的视频流

java - Thread.sleep 似乎非常不一致