我有一个Java Swing应用程序,它会加载一个网页。有时,网页的加载时间取决于用户的网络连接速度,可能需要一些时间。
我希望在页面加载完成之前,能够阻止这个框架的加载。
我希望在页面加载完成之前,能够阻止这个框架的加载。
JDialog modalDialog = new JDialog(frame, "Busy", ModalityType.DOCUMENT_MODAL);
modalDialog.setSize(200, 150);
modalDialog.setLocationRelativeTo(frame);
modalDialog.setVisible(true);
这是可能的... 我找到了一个解决方案。
我也遇到过这个问题。
当您创建模态对话框时,如另一个答案所建议,只有用户可以关闭它。
只有在加载结束时才能使其自行处理,这才有用。
[更新]
这是我的对话框类
public final class Loading extends javax.swing.JDialog {
/*
* Creates new form Loading
* @param parent
* @param modal
*/
public Loading(java.awt.Frame parent,boolean modal) {
super(parent, modal);
initComponents();
}
private void formWindowActivated(java.awt.event.WindowEvent evt) {
//Code to execute while loading
this.dispose();
}
}
在这里你可以这样调用它。
Loading l = new Loading(this/*In case you class is a frame, null otherwise*/, true);
l.setVisible(true);