private ProgressMonitor pbar;
.
.
.
//查询
private void jButton2ActionPerformed(ActionEvent evt) 
{
    final AccountMode   me   =   this;//定义引用this的me变量 
    new Thread()
    {
         public void run() 
        {
            for(int i = 0;i<jTable1.getRowCount();i++)
            {
                if(jTable1.getValueAt(i,1).equals(Boolean.TRUE))
                {
                    
                    pbar= new ProgressMonitor(me,"<html>"+((String)jTable1.getValueAt(i,2)).trim()+"&nbsp;&nbsp;"+sdate.getText().replaceAll(" ", "&nbsp;&nbsp;")+"至"+edate.getText().replaceAll(" ", "&nbsp;&nbsp;")+"的数据正在生成,请稍后..."+"</html>", "", 0,100);                    if (pbar.isCanceled()) // 出问题就是这里
           {
               System.exit(1);
      break;
           }
           //主要处理的方法
           new ConvertXML().CreateXML(ip,port,ac,pw,pbar);
           pbar.close();

       }
   }
        }
    }.start();
}

不管我怎么点进度条的"取消"按钮,pbar.isCanceled()都是返回false,中断不了程序