【问题标题】:JProgressBar not working as expectedJProgressBar 没有按预期工作
【发布时间】:2013-06-14 18:10:43
【问题描述】:

我正在尝试将此 JProgressBar 与按钮一起使用。我在单击按钮时将 ProgressBar 的可见性设置为 true,并在我调用 web 服务的同一代码中。在收到来自 Web 服务的响应后,我将进度条的可见性设置为 false。

下面是我的代码。

请帮我解决这个问题。目前 ProgressBar 只有在收到响应后才会出现。

 JButton testAPI = new JButton("Test API");
    testAPI.setBounds(OFFSET_X + 80, OFFSET_Y + 140, 120, 30);
    testAPI.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            prg.setVisible(true);
            String apiKey = apiKeyText.getText();
            testAPI(apiKey);
        }
});
 add(testAPI);

protected void testAPI(String apiKey) {

    StringBuilder sb = new StringBuilder(testQuery);
    sb.append("officialdharam@gmail.com");
    RestClient client = new RestClient();
    try {
        prg.setVisible(true);
        Response s = client.invoke(sb.toString(), HttpMethod.POST);
        prg.setVisible(false);
        System.out.println(s);
    }
    catch (URISyntaxException e) {
        e.printStackTrace();
    }
}

【问题讨论】:

    标签: java swing progress-bar jprogressbar


    【解决方案1】:

    您的代码在 EDT 上执行,因此 GUI 在任务完成之前无法重新绘制自身。

    阅读 How to Use Progress Bars 上的 Swing 教程,了解使用 SwingWorker 的工作示例。

    另外,请阅读Concurrency 上的教程,了解有关 EDT 的更多信息。

    【讨论】:

      猜你喜欢
      • 2021-10-19
      • 2020-03-18
      • 2012-06-14
      • 2014-11-15
      • 1970-01-01
      • 2012-07-02
      • 2011-09-07
      • 2013-03-03
      • 2015-05-18
      相关资源
      最近更新 更多