关于“数据加载中。。。”类似功能的实现

效果如图所示:


如何实现该功能?很简单,将点击事件的执行效果放在一个线程中,在该线程执行的时候显示圈圈即可

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        tqflag = false;
        Vector v = mycomboBox.getComboVc();
        if (v.size() == 0) {
            Msg("请选择状态!");
            return;
        }
        JFrame frame = (JFrame) tabPanel.getRootPane().getParent();
        Thread calculateYItemThread = new Thread(new sjjhThread());  //启动数据导入线程
        calculateYItemThread.start();
        WaitingDialogFactory.popUpWaitingDialog(frame, calculateYItemThread, "正在提取数据...");
        frame.validate();
        if (tqflag) {
            Msg("提取计划成功!");
            this.changeTable();
            this.sbsb();
        } else {
            Msg("提取计划失败!");
        }
    } 
boolean tqflag = false;
    class sjjhThread extends Thread {

        @Override
        public void run() {
            Vector v = mycomboBox.getComboVc();
            Iterator y = v.iterator();
            List<String> stateList = new ArrayList<String>();
            while (y.hasNext()) {
                stateList.add(y.next().toString());
            }
            tqflag = service_import.importYdJxjh(pdate, stateList);
        }
    }

注意:每次点击按钮的时候,需要将tqflag设为空,避免上一次的点击操作对当前事件的影响。用tqflag将线程中需要判断的逻辑成功与否提到外面来。避免出现,当弹出执行失败(成功)的弹窗时,“正在校核。。。”的效果图依然存在。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值