因此,在下面的代码中,在SetVisible(true)之前放置frame.add(OpeningSplash)可以正常工作(即显示图像),但是将它放在doesn&t之后。我该如何解决这个问题?
public static void main (String Args[]){
JFrame frame = new JFrame("Swords & Sworcery");
frame.setSize(1920,1080);
frame.setUndecorated(true);
frame.setVisible(true);
frame.add(new OpeningSplash());
final JFXPanel fxPanel = new JFXPanel();
frame.add(fxPanel);
initFX(fxPanel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MUSIK.playIntro();
}
答案 0 :(得分:2)
理解起来很简单。将所有组件都视为计算机的外围设备。在连接所有外围设备之前,您实际上是在打开计算机。
setVisible()完成向JFrame添加所有实体,以便在显示时,一切都完好无损。
请参阅"Why to use setVisible() below our code!"
因此,在设置框架可见之前,应调用组件的添加。
希望这可以解决问题