/** * And now for a little assembly. Put together the buttons, progress bar and status text field. */ Example1(String name) { setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.black), name)); progressBar.setMaximum(NUMLOOPS); startButton = new JButton("Start"); startButton.addActionListener(startListener); startButton.setEnabled(true); interruptButton = new JButton("Cancel"); interruptButton.addActionListener(interruptListener); interruptButton.setEnabled(false); JComponent buttonBox = new JPanel(); buttonBox.add(startButton); buttonBox.add(interruptButton); setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); add(buttonBox); add(progressBar); add(statusField); statusField.setAlignmentX(CENTER_ALIGNMENT); buttonBox.setBorder(spaceBelow); Border pbBorder = progressBar.getBorder(); progressBar.setBorder(BorderFactory.createCompoundBorder(spaceBelow, pbBorder)); }
public JDialog showProgressDialog( JDialog parent, String title, String message, boolean includeCancelButton) { fileSearchCancelled = false; final JDialog prog; JProgressBar bar = new JProgressBar(SwingConstants.HORIZONTAL); JButton cancel = new JButton(Globals.lang("Cancel")); cancel.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent event) { fileSearchCancelled = true; ((JButton) event.getSource()).setEnabled(false); } }); prog = new JDialog(parent, title, false); bar.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); bar.setIndeterminate(true); if (includeCancelButton) { prog.add(cancel, BorderLayout.SOUTH); } prog.add(new JLabel(message), BorderLayout.NORTH); prog.add(bar, BorderLayout.CENTER); prog.pack(); prog.setLocationRelativeTo(null); // parent); // SwingUtilities.invokeLater(new Runnable() { // public void run() { prog.setVisible(true); // } // }); return prog; }