@Override public void updateProgress(int value) { assert EventQueue.isDispatchThread() : "not EDT thread"; progressBar.setValue(value); leftPanel.paintImmediately(progressBar.getBounds()); }
public StatusBarProgressHandler(JPanel leftPanel, String msg, int max) { this.leftPanel = leftPanel; progressBar = new JProgressBar(0, max); msgLabel = new JLabel(msg); leftPanel.add(msgLabel); leftPanel.add(progressBar); // call these instead of revalidate()/repaint() // because we want to stay on the EDT leftPanel.validate(); // otherwise the panel width/height are 0 leftPanel.paintImmediately(0, 0, leftPanel.getWidth(), leftPanel.getHeight()); }
@Override public void paintImmediately(int x, int y, int w, int h) { getSwingComponent().invalidate(); super.paintImmediately(x, y, w, h); }
splashFrame = new JWindow(); splashFrame.setBackground(Color.white); JPanel splashPanel = new JPanel(); splashPanel.setLayout(new BorderLayout()); JLabel image = new JLabel(img); splashPanel.add(image); splashFrame.setContentPane(splashPanel); splashFrame.pack(); splashFrame.setLocationRelativeTo(null); splashFrame.setAlwaysOnTop(true); splashPanel.paintImmediately(0, 0, splashPanel.getSize().width, splashPanel.getSize().height); splashFrame.setSize(splashPanel.getSize().width,splashPanel.getSize().height); splashFrame.setLocation(100, 100); splashFrame.setVisible(true);
/**************************************************************************/ public void setState(String label, int progress) { progressLabel.setText(label); progressBar.setValue(progress); if (forcePainting) { panel.paintImmediately(panel.getVisibleRect()); } else { repaint(); } if (progress == maxSteps) { this.dispose(); } } /**************************************************************************/
workflowPanel.paintImmediately(0, 0, workflowPanel.getWidth(), workflowPanel.getHeight()); } catch (Exception e) { ex = e;