Java中的进度指示器

时间:2014-12-19 06:26:03

标签: java swing user-interface progress-bar

我正在使用Jasper报告,我将使用Java代码将其导出为PDF。我的java应用程序是在Swing中。我需要Java应用程序来显示'请等待'工作报告时的消息已正确导出。

我记得我曾经用4行代码做过这件事,我无法记住他们现在的样子。我设法做的是在屏幕上显示一个小音符,上面写着" Please Wait"一旦工作完成,它就会消失。据我所知,它是一个内置的Swing功能。

1 个答案:

答案 0 :(得分:-1)

> You can use swing worker for that

                        SwingWorker sw = new SwingWorker() {
                            @Override
                            protected Object doInBackground() throws Exception {
                                // TODO Auto-generated method stub
                                progressBar.setVisible(true);
                                status.setVisible(true);
                                progressBar.setIndeterminate(true);
                                progressBar.setBackground(getForeground());
                                //do some task & it will return something, like
                                int flag = logRunningThread();
                                return null;
                            }

                            @Override
                            public void done() {
                                progressBar.setIndeterminate(false);
                                progressBar.setBackground(getForeground());
                                progressBar.setVisible(false);
                                //After Success Message 
                                System.out.println("Task Completed")
                                status.setVisible(false);
                                progressBar.setValue(100);
                            }
                        };
                        sw.execute();

Also take 2 variable 
    private JProgressBar progressBar;
    private JLabel status;
& add them to panel & frame.