Java Swing:模态加载屏幕?

时间:2011-02-02 02:41:11

标签: swing

我有一个加载网页的Java swing应用程序。有时,网页需要一段时间才能加载,具体取决于用户的互联网连接。

我想阻止此框架,直到页面加载完毕。

2 个答案:

答案 0 :(得分:5)

最简单的选择是弹出一个模态对话框:

JDialog modalDialog = new JDialog(frame, "Busy", ModalityType.DOCUMENT_MODAL);
modalDialog.setSize(200, 150);
modalDialog.setLocationRelativeTo(frame);
modalDialog.setVisible(true);

您可能需要在其中添加进度条。

答案 1 :(得分:0)

有可能...... 我想出了一个解决方案。

我也有这个问题。

按照another answer的建议创建模态对话框时,只有用户可以关闭它 只有在加载结束时才能自行处理它才有用。

[UPDATE]

这是我的Dialog Class

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);

执行加载代码后,它会解散并继续父类的代码。