我想显示一个"请等待"对话框,直到我的应用程序使用while循环从CSV文件导入数据库为止。因此,对话框应该留下来,从while循环开始并在while循环完成后消失时开始。
这是我的代码 -
try{
BufferedReader br=new BufferedReader(new FileReader("temp.csv"));
String line;
line=br.readLine();
while((line=br.readLine())!=null){
String[]value = line.split(",");
String sql = "INSERT into main ([Ticket #], Status, Priority, Department, [Account Name]) "
+ "values ('"+value[0]+"','"+value[1]+"','"+value[2]+"','"+value[3]+"','"+value[4]+"')";
System.out.println(sql);
PreparedStatement pst = null;
try{
pst = db.prepareStatement(sql);
pst.executeUpdate();
}finally{
if(pst != null){
pst.close();
}
}
}
br.close();
} catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
您需要还有其他工作线程来完成工作。启动后,您将在主线程中显示对话框窗口。完成后,必须通知主线程工作已经结束,并且可以隐藏对话框窗口。如果这是Swing
,则可以使用(并且首选)SwingWorker
。相对容易。可以在此处找到简单的解释示例。如果您有理解教程的问题,那么您需要研究一些有关多线程和复制模式代码的基础知识,这将无济于事。