java - Java中JOptionPane的ConfirmDialog

标签 java joptionpane

我有一个 JLabel 和一个 JButton。在下面的代码中,我尝试在 for 循环执行之前更改按钮单击时的 JLabel 文本,但 JLabel 文本在循环执行后更改。这是代码-

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

        int n = JOptionPane.showConfirmDialog(null, "Print??");
        if(n==JOptionPane.YES_OPTION)
                {
                    jLabel1.setText("Please Wait...");
                    System.out.println("Hello");

                    for(int i = 0 ; i<65000;i++)
                    {
                        System.out.println("printing");
                    }

                }
    }    

但是 Hello 在循环执行之前被打印。 我正在 for 循环中做其他事情,这也需要一些时间,直到循环执行我想显示 Please Wait... 。但它是在循环执行后显示的。问题是什么。请帮忙...

最佳答案

Thread t1 = new Thread() {
            public void run() {
            lbl.setText("Please wait...");
            pnl.updateUI();
        }
    };
    Thread t2 = new Thread() {

        public void run() {
            for (int i = 0; i < 10000; i++) {
                pnl.updateUI();
                System.out.println("Printing");
            }
            lbl.setText("Done!!!");
        }
    };

全局声明此内容,然后单击按钮写入 t1.start()t2.start();

关于java - Java中JOptionPane的ConfirmDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19295354/

相关文章:

java - java日志文件中$$$view的含义是什么?

java - 带数组的多个输入

java - if else 语句出现意外结果

java - Java 应用程序中的 MalformedURLException

java - 从 .jar 文件运行服务器程序

java - 同时播放和暂停多个音频文件

javascript - 如何使用 Selenium 从下拉列表中选择一个值?

java - 如何等待多个 Volley 请求完成?

java.lang.StringIndexOutOfBoundsException 和 showInputDialog

java - 使用 JOptionPane.YES_NO_OPTIONS