我有一个调用此函数的主函数:
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/