我有一个 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/