java - 图像未显示在 Java Swing GUI JFrame 中

标签 java swing user-interface jframe

我有一个调用此函数的主函数:

private void splashScreen() throws MalformedURLException {
    JWindow window = new JWindow();
    ImageIcon image = new ImageIcon(new URL("https://i.imgur.com/Wt9kOSU.png"));
    JLabel imageLabel = new JLabel(image); 
    window.add(imageLabel);
    window.pack();
    window.setVisible(true);
    try {
        Thread.sleep(5000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    window.setVisible(false);
    window.dispose();
}

我已将图像添加到窗口,打包窗口,然后使其可见,框架弹出,但是图像未显示在框架中。我相当确定这段代码应该有效?

最佳答案

您正在使用 Thread.sleep(),因此 GUI 会 hibernate 并且无法重新绘制自身。阅读 Swing 教程中关于 Concurrency 的部分了解更多信息。

不要使用Thread.sleep()。

而是使用 Swing Timer 在 5 秒内安排事件。阅读 Swing 教程中关于 How to Use Timers 的部分了解更多信息。

关于java - 图像未显示在 Java Swing GUI JFrame 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49331667/

相关文章:

java - Java 的 WS-Discovery 实现

java - 从 Java 8 中的单词字典中计算文本的值

java - 创建一个动态调整其宽度的文本字段

matlab - 在 MATLAB GUI 弹出菜单中写入指数

java - Apache FTP文件权限

java - 无法在 volley 中访问 StringRequest 之外的响应

java - 如何加入现有的 SwingWorker

java - 在 GridBagLayout 中以固定宽度在 JPanel 上显示 JLabel

java - 如何获取 JList 的所有条目?

ios - 以编程方式添加 UIView,但其他 View 会调整大小并且存在伪像?