java - 程序发布之后swingworker不能正常工作
迷茫
迷茫 2017-04-17 13:02:11
[Java讨论组]

一个窗体,初始化的时候需要读取数据库,根据查询结果进行进一步操作。代码如下,使用提示框代表窗体的初始化部分。

public class TestFrame extends JFrame {
    public TestFrame() {
        this.setTitle("测试窗体");
        initGUI();
    }

    private void initGUI() {

        SwingWorker worker = new SwingWorker<java.util.List<ConditionTerm>, Void>() {
            @Override
            protected java.util.List<ConditionTerm> doInBackground() throws Exception {
                condition.setTypeFlag(ConditionTermType.NORMAL);
                ConditionTermDao dao = new ConditionTermDao();
                return dao.find();
            }

            @Override
            protected void done() {
                FlowLayout layout = new FlowLayout();
                layout.setAlignment(FlowLayout.LEFT);
                setLayout(layout);
                try {
                    JOptionPane.showMessageDialog(new JPanel(), "1");
                    java.util.List<ConditionTerm> conditionTerms = get();
                    JOptionPane.showMessageDialog(new JPanel(), conditionTerms.size());
                } catch (InterruptedException e) {
                    e.printStackTrace();
                } catch (ExecutionException e) {
                    e.printStackTrace();
                }
                validate();
                repaint();
            }
        };
        worker.execute();
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            TestFrame t = new TestFrame();
            t.setVisible(true);
        });
    }
}

开发环境为intelliJ idea 13 ,debug模式下运行正常,即:能弹出提示框,显示“1”,然后显示查询结果的条数。打包之后只弹出一次提示框显示“1” ,然后就没有反应了。

更新

问题已经解决

解决思路:使用java -jar xx.jar运行打包之后的程序,查看运行过程,发现有异常抛出,根据异常信息,成功解决问题。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号