在Java中循环延迟

时间:2016-08-22 13:04:32

标签: java multithreading swing while-loop timedelay

DefaultForm JFrame中的打开按钮有监听器

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    JFileChooser chooser = new JFileChooser();
    File file = null;
    int returnVal = chooser.showOpenDialog(this);
    if (returnVal == JFileChooser.APPROVE_OPTION) {
        file = chooser.getSelectedFile();
        System.out.println(file.getName());
    }
    try {
        Scanner sc = new Scanner(file);
        while (sc.hasNext()) {
            String[] s = sc.nextLine().split(",");
            digitalPanel.tempTextField.setText(s[0]);
            digitalPanel.airTextField.setText(s[1]);
            digitalPanel.insoTextField.setText(s[2]);
            Thread.sleep(100);
        }
    } catch (FileNotFoundException ex) {
        Logger.getLogger(DefaultForm.class.getName()).log(Level.SEVERE, null, ex);
    } catch (InterruptedException ex) {
        Logger.getLogger(DefaultForm.class.getName()).log(Level.SEVERE, null, ex);
    }

}  

digitalPanel是 DefaultForm 中的一个面板。

我想显示从文件读取的数据,但是有延迟时间。

如果我删除Thread.sleep(1000);

,它会有效

但是当我将Thread.sleep(1000);放入while循环

时它会卡住

在这种情况下有任何想法吗?

我们将不胜感激。

0 个答案:

没有答案