private static JComponent makeUI() { // final JProgressBar progressBar = new JProgressBar(SwingConstants.VERTICAL); final JProgressBar progressBar = new JProgressBar(); progressBar.setOpaque(false); progressBar.setUI(new GradientPalletProgressBarUI()); GridBagConstraints c = new GridBagConstraints(); JPanel p = new JPanel(new GridBagLayout()); p.setBorder(BorderFactory.createEmptyBorder(32, 8, 0, 8)); c.gridheight = 1; c.gridwidth = 1; c.gridy = 0; c.gridx = 0; c.insets = new Insets(0, 0, 0, 4); c.weightx = 1d; c.fill = GridBagConstraints.HORIZONTAL; p.add(progressBar, c); c.gridx = 1; c.weightx = 0d; p.add( new JButton( new AbstractAction("Start") { @Override public void actionPerformed(ActionEvent e) { final JButton b = (JButton) e.getSource(); b.setEnabled(false); SwingWorker<Void, Void> worker = new Task() { @Override public void done() { if (b.isDisplayable()) { b.setEnabled(true); } } }; worker.addPropertyChangeListener(new ProgressListener(progressBar)); worker.execute(); } }), c); return p; }
private JComponent makeTitlePanel(String title, List<? extends JComponent> list) { JPanel p = new JPanel(new GridBagLayout()); p.setBorder(BorderFactory.createTitledBorder(title)); GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.HORIZONTAL; c.insets = new Insets(5, 5, 5, 5); c.weightx = 1d; c.gridy = 0; for (JComponent cmp : list) { p.add(cmp, c); c.gridy++; } return p; }