我打算在特定表有记录且该表中没有记录时创建弹出窗口,该弹出窗口将停止显示。 弹出窗口将通知用户已完成的任务(记录条目),并且当用户确认他已经看到这些记录时,该记录将被删除,并且直到有记录输入时,弹出窗口才会显示再次在表格中进行确认。
我使用ScheduledExecutorService为该方法创建了一个运行时,其中此代码必须每10秒检查一次ResultSet中的记录,如果没有记录,则不会触发该方法。
try{
String sql="select * from confirm_purchase";
pst=con.prepareStatement(sql);
rs=pst.executeQuery();
if(rs.first()){
Runnable runnable = new Runnable() {
@Override
public void run() {
int d2 = JOptionPane.showConfirmDialog(null,"new purchased item(s) have been recorded.\ndo you wish to view them?","view current items purchased",JOptionPane.YES_NO_OPTION);
if(d2==0){
confirmItemPurchase cip = new confirmItemPurchase();
cip.setVisible(true);
}
}
};
ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
service.scheduleAtFixedRate(runnable, 0, 10, TimeUnit.SECONDS);
}else{
System.out.println("no data yet");
}
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}finally{
try{
rs.close();
pst.close();
}
catch(Exception e){
}
}
此代码可以正常工作,并显示弹出窗口。但是当清除表中的记录时,仍会显示弹出窗口。
当表中没有记录时,如何阻止弹出窗口显示。