[英]Jframe Contents not Being Displayed
当用户单击应用程序中的特定按钮时,我试图在新的JFrame中显示“正在加载图像”。显示了JFrame,但它什么也没有显示!也有白色背景,而所有JFrame都有灰色默认背景。这是怎么了
stop.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
analyzer.running=false;
JFrame Load1=new JFrame("Load1");
ImageIcon icon1=new ImageIcon("./ajax-loader.gif");
System.out.println(icon1.getIconHeight());
Load1.add(new JLabel("Retrieving...", icon1, JLabel.CENTER),BorderLayout.CENTER);
Load1.pack();
Load1.setSize(400,400);
Load1.setVisible(true);
System.out.println("Start Processing");
parser.parse(); // Time Consuming method
nw_Creator.create();
System.out.println("End Processing");
Load1.setVisible(false);
home.setVisible(false);
screen2.setVisible(true);
}
});
不要将耗时的部件放在事件处理程序或事件分发线程中运行的任何方法中。 您可能要使用摇摆工人 。
发生的事情是,您永远不会释放UI线程,因此您的JFrame永远不会被绘制。 由于所有图形操作都是在UI线程上完成的,因此如果要让jframe显示任何内容,则必须释放它,进行计算,然后关闭该帧。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.