Java 为JProgressBar创建单独的框架
我有一个程序,当用户点击某个按钮时,我希望一个新的小框架出现在进度条上。我不希望用户在流程完成之前能够做任何其他事情。当我把进度条放在一个单独的框中,按下按钮时弹出一个框,更新进度条时遇到问题。如果我将进度条与按钮放在同一面板中,则它会正确更新,但这不是我想要的。我需要它在一个新的框架,我需要用户必须等待它完成。我该怎么做?谢谢 我使用以下代码创建框架:Java 为JProgressBar创建单独的框架,java,swing,jprogressbar,Java,Swing,Jprogressbar,我有一个程序,当用户点击某个按钮时,我希望一个新的小框架出现在进度条上。我不希望用户在流程完成之前能够做任何其他事情。当我把进度条放在一个单独的框中,按下按钮时弹出一个框,更新进度条时遇到问题。如果我将进度条与按钮放在同一面板中,则它会正确更新,但这不是我想要的。我需要它在一个新的框架,我需要用户必须等待它完成。我该怎么做?谢谢 我使用以下代码创建框架: void designProgressFrame() { progressFrame = new JFrame("Progress")
void designProgressFrame() {
progressFrame = new JFrame("Progress");
progressFrame.getContentPane().setLayout(new BoxLayout(progressFrame.getContentPane(), BoxLayout.PAGE_AXIS));
progressFrame.setSize(200, 100);
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
panel1.setBackground(new Color(248, 248, 244));
panel2.setBackground(new Color(248, 248, 244));
progressFrame.getContentPane().setBackground(new Color(248, 248, 244));
progressBar = new JProgressBar();
progressBar.setStringPainted(true);
progresslbl = new JLabel();
panel1.add(progressBar);
panel2.add(progresslbl);
progressFrame.getContentPane().add(panel1);
progressFrame.getContentPane().add(panel2);
progressFrame.setLocationRelativeTo(null);
}
一旦在我的主程序中按下某个按钮,我就可以看到这个框架,并开始使用setValue方法更新进度条,但由于某些原因,进度条没有更新。这个问题后来证明是并发问题。mKorbel在这个链接上提供的答案解决了这个问题。我所要做的就是使用SwingWorker:
表演代码。b如果你懒得接受你问题的答案,我也懒得帮你。您有27个问题,其中0个被标记为已回答。标记为未回答的问题要么是未回答的问题,要么是我自己找到了解决方案。@user3245747如果您自己找到了解决方案,请返回这些问题,添加您自己的答案,并将其标记为已接受的答案,以便其他人可以从中受益。