Java Code Examples for javax.swing.JProgressBar#setIndeterminate()

The following examples show how to use javax.swing.JProgressBar#setIndeterminate() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: AutoUpgrade.java    From netbeans with Apache License 2.0 8 votes vote down vote up
private static boolean showUpgradeDialog (final File source, String note) {
       Util.setDefaultLookAndFeel();

JPanel panel = new JPanel(new BorderLayout());
panel.add(new AutoUpgradePanel (source.getAbsolutePath (), note), BorderLayout.CENTER);
JProgressBar progressBar = new JProgressBar(0, 100);
progressBar.setValue(0);
progressBar.setStringPainted(true);
progressBar.setIndeterminate(true);
panel.add(progressBar, BorderLayout.SOUTH);
progressBar.setVisible(false);

JButton bYES = new JButton("Yes");
bYES.setMnemonic(KeyEvent.VK_Y);
JButton bNO = new JButton("No");
bNO.setMnemonic(KeyEvent.VK_N);
JButton[] options = new JButton[] {bYES, bNO};
       JOptionPane p = new JOptionPane (panel, JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION, null, options, bYES);
       JDialog d = Util.createJOptionProgressDialog(p, NbBundle.getMessage (AutoUpgrade.class, "MSG_Confirmation_Title"), source, progressBar);
       d.setVisible (true);

       return new Integer (JOptionPane.YES_OPTION).equals (p.getValue ());
   }
 
Example 2
Source File: ProgressBarMemoryLeakTest.java    From dragonwell8_jdk with GNU General Public License v2.0 6 votes vote down vote up
private static void showUI(){
  sFrame = new JFrame();

  JProgressBar progressBar = new JProgressBar();
  progressBar.setVisible(false);
  progressBar.setIndeterminate(false);
  progressBar.setIndeterminate(true);
  progressBar.setIndeterminate(false);
  progressBar.setValue(10);
  progressBar.setString("Progress");

  sFrame.add(progressBar);

  sProgressBar = new WeakReference<>(progressBar);

  sFrame.setSize(200,200);
  sFrame.setVisible(true);
}
 
Example 3
Source File: ProgressWindow.java    From triplea with GNU General Public License v3.0 6 votes vote down vote up
/**
 * Initializes a new instance of the {@code ProgressWindow} class.
 *
 * @param owner The frame from which the window is displayed; if {@code null} the shared owner
 *     will be used and this window will not be focusable.
 * @param title The progress message; may be {@code null}.
 */
public ProgressWindow(final Frame owner, final String title) {
  super(owner);
  final JLabel label = new JLabel(title);
  label.setBorder(new EmptyBorder(10, 10, 10, 10));
  final JProgressBar progressBar = new JProgressBar();
  progressBar.setBorder(new EmptyBorder(10, 10, 10, 10));
  progressBar.setIndeterminate(true);
  final JPanel panel = new JPanel();
  panel.setBorder(new LineBorder(Color.BLACK));
  panel.setLayout(new BorderLayout());
  panel.add(BorderLayout.NORTH, label);
  panel.add(progressBar, BorderLayout.CENTER);
  setLayout(new BorderLayout());
  setSize(200, 80);
  add(panel, BorderLayout.CENTER);
  pack();
  setLocationRelativeTo(owner);
}
 
Example 4
Source File: ProgressWindow.java    From pcap-burp with GNU Affero General Public License v3.0 6 votes vote down vote up
public ProgressWindow(JFrame parent, String title, String message) {
	super(parent, title, true);
	if (parent != null) {
		Dimension parentSize = parent.getSize();
		Point p = parent.getLocation();
		setLocation(p.x + parentSize.width / 4, p.y + parentSize.height / 4);
	}
	JPanel messagePane = new JPanel();
	label = new JLabel(message);
	messagePane.add(label);
	getContentPane().add(messagePane);

	JPanel progressPane = new JPanel();
	progressBar = new JProgressBar(0, 100);
	progressBar.setIndeterminate(true);
	progressBar.setPreferredSize(new Dimension(250, 20));
	progressBar.setVisible(true);
	progressPane.add(progressBar);

	getContentPane().add(progressPane, BorderLayout.SOUTH);
	setDefaultCloseOperation(DISPOSE_ON_CLOSE);
	pack();
}
 
Example 5
Source File: ReferencesBrowserController.java    From visualvm with GNU General Public License v2.0 6 votes vote down vote up
Dialog createProgressPanel(final String message, BoundedRangeModel model) {
    Dialog dialog;
    JPanel panel = new JPanel();
    panel.setLayout(new BorderLayout(10, 10));
    panel.setBorder(new EmptyBorder(15, 15, 15, 15));
    panel.add(new JLabel(message), BorderLayout.NORTH);

    final Dimension ps = panel.getPreferredSize();
    ps.setSize(Math.max(ps.getWidth(), DEFAULT_WIDTH), Math.max(ps.getHeight(), DEFAULT_HEIGHT));
    panel.setPreferredSize(ps);

    final JProgressBar progress = new JProgressBar();
    if (model == null) {
        progress.setIndeterminate(true);
    } else {
        progress.setStringPainted(true);
        progress.setModel(model);
    }
    panel.add(progress, BorderLayout.SOUTH);
    dialog = DialogDisplayer.getDefault().createDialog(new DialogDescriptor(panel, Bundle.ReferencesBrowserController_ProgressDialogCaption(), true, new Object[] {  },
                                                       DialogDescriptor.CANCEL_OPTION, DialogDescriptor.RIGHT_ALIGN,
                                                       null, null));

    return dialog;
}
 
Example 6
Source File: CreateKeyView.java    From pgptool with GNU General Public License v3.0 6 votes vote down vote up
private JPanel buildPanelButtons() {
	JPanel whole = new JPanel(new BorderLayout());

	progressBar = new JProgressBar(0, 100);
	progressBar.setToolTipText(Messages.text("phrase.generatingYourSecureKey"));
	progressBar.setIndeterminate(true);

	JPanel btns = new JPanel(new FlowLayout(FlowLayout.RIGHT, 0, 0));
	btns.setBorder(BorderFactory.createEmptyBorder(5, 10, 10, 10));
	btns.add(progressBar);
	btns.add(new JLabel("  "));
	btns.add(btnCreate = new JButton());
	btns.add(btnCancel = new JButton());
	whole.add(btns, BorderLayout.EAST);

	return whole;
}
 
Example 7
Source File: DemoTheatreApp.java    From arcgis-runtime-demo-java with Apache License 2.0 6 votes vote down vote up
/**
 * Creates a progress bar.
 * 
 * @param parent progress bar's parent. The horizontal axis of the progress bar will be center-aligned to the parent.
 * @return a progress bar.
 */
private static JProgressBar createProgressBar(final JComponent parent) {
  final JProgressBar progressBar = new JProgressBar();
  progressBar.setSize(260, 20);
  parent.addComponentListener(new ComponentAdapter() {
    @Override
    public void componentResized(ComponentEvent e) {
      progressBar.setLocation(
        parent.getWidth() / 2 - progressBar.getWidth() / 2,
        parent.getHeight() - progressBar.getHeight() - 20);
    }
  });
  progressBar.setStringPainted(true);
  progressBar.setIndeterminate(true);
  progressBar.setVisible(false);
  return progressBar;
}
 
Example 8
Source File: ProgressBarMemoryLeakTest.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 6 votes vote down vote up
private static void showUI(){
  sFrame = new JFrame();

  JProgressBar progressBar = new JProgressBar();
  progressBar.setVisible(false);
  progressBar.setIndeterminate(false);
  progressBar.setIndeterminate(true);
  progressBar.setIndeterminate(false);
  progressBar.setValue(10);
  progressBar.setString("Progress");

  sFrame.add(progressBar);

  sProgressBar = new WeakReference<>(progressBar);

  sFrame.setSize(200,200);
  sFrame.setVisible(true);
}
 
Example 9
Source File: ReferencesBrowserController.java    From netbeans with Apache License 2.0 6 votes vote down vote up
Dialog createProgressPanel(final String message, BoundedRangeModel model) {
    Dialog dialog;
    JPanel panel = new JPanel();
    panel.setLayout(new BorderLayout(10, 10));
    panel.setBorder(new EmptyBorder(15, 15, 15, 15));
    panel.add(new JLabel(message), BorderLayout.NORTH);

    final Dimension ps = panel.getPreferredSize();
    ps.setSize(Math.max(ps.getWidth(), DEFAULT_WIDTH), Math.max(ps.getHeight(), DEFAULT_HEIGHT));
    panel.setPreferredSize(ps);

    final JProgressBar progress = new JProgressBar();
    if (model == null) {
        progress.setIndeterminate(true);
    } else {
        progress.setStringPainted(true);
        progress.setModel(model);
    }
    panel.add(progress, BorderLayout.SOUTH);
    dialog = DialogDisplayer.getDefault().createDialog(new DialogDescriptor(panel, Bundle.ReferencesBrowserController_ProgressDialogCaption(), true, new Object[] {  },
                                                       DialogDescriptor.CANCEL_OPTION, DialogDescriptor.RIGHT_ALIGN,
                                                       null, null));

    return dialog;
}
 
Example 10
Source File: InfiniteProgressMonitor.java    From collect-earth with MIT License 6 votes vote down vote up
public InfiniteProgressMonitor(Component parentFrame, String title, String message) {

		infiniteProgress = new JProgressBar();
		infiniteProgress.setIndeterminate(true);
		label = new JLabel(message);

		final Object[] dialogItems = { label, infiniteProgress };

		cancelOption = Messages.getString("InfiniteProgressMonitor.0"); //$NON-NLS-1$
		final Object[] options = { cancelOption };
		setPane(new JOptionPane(dialogItems, JOptionPane.PLAIN_MESSAGE, JOptionPane.YES_NO_CANCEL_OPTION, null,
				options));
		setDialog(getPane().createDialog(parentFrame, title));
		getDialog().setModal(true);

	}
 
Example 11
Source File: ExportDialog.java    From GiantTrees with GNU General Public License v3.0 6 votes vote down vote up
public Progressbar() {
	super(new BorderLayout());
	((BorderLayout)getLayout()).setHgap(20);
	
	setBorder(BorderFactory.createEmptyBorder(10,5,5,5));
	
	label = new JLabel("Creating tree structure");
   	Font font = label.getFont().deriveFont(Font.PLAIN,12);
   	label.setFont(font);
	add(label,BorderLayout.WEST);
   	
	progressbar = new JProgressBar(0,100);
	progressbar.setValue(-1);
	progressbar.setStringPainted(true);
	progressbar.setString("");
	progressbar.setIndeterminate(true);
	add(progressbar,BorderLayout.CENTER);
}
 
Example 12
Source File: ProgressBarMemoryLeakTest.java    From TencentKona-8 with GNU General Public License v2.0 6 votes vote down vote up
private static void showUI(){
  sFrame = new JFrame();

  JProgressBar progressBar = new JProgressBar();
  progressBar.setVisible(false);
  progressBar.setIndeterminate(false);
  progressBar.setIndeterminate(true);
  progressBar.setIndeterminate(false);
  progressBar.setValue(10);
  progressBar.setString("Progress");

  sFrame.add(progressBar);

  sProgressBar = new WeakReference<>(progressBar);

  sFrame.setSize(200,200);
  sFrame.setVisible(true);
}
 
Example 13
Source File: ProgressDialog.java    From triplea with GNU General Public License v3.0 6 votes vote down vote up
private static Component newContent(final String message) {
  final JPanel panel = new JPanel();
  panel.setBorder(new LineBorder(Color.BLACK));
  panel.setLayout(new BorderLayout());

  final JLabel label = new JLabel(message);
  label.setBorder(new EmptyBorder(10, 10, 10, 10));
  panel.add(BorderLayout.NORTH, label);

  final JProgressBar progressBar = new JProgressBar();
  progressBar.setBorder(new EmptyBorder(10, 10, 10, 10));
  progressBar.setIndeterminate(true);
  panel.add(progressBar, BorderLayout.CENTER);

  return panel;
}
 
Example 14
Source File: ProgressOverlay.java    From VanetSim with GNU General Public License v3.0 5 votes vote down vote up
/**
 * Instantiates a new progress bar.
 */
public ProgressOverlay(){		
	super(VanetSimStart.getMainFrame());
	setUndecorated(true);
	getRootPane().setWindowDecorationStyle(JRootPane.NONE); 
	JProgressBar progressBar = new JProgressBar(0, 100);      
       progressBar.setIndeterminate(true);
       setLayout(new BorderLayout());
       add(progressBar, BorderLayout.PAGE_START);
       add(ButtonCreator.getJButton("shutdown.png", "shutdown", Messages.getString("ProgressOverlay.quitProgram"), this), BorderLayout.PAGE_END); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
       pack();       
       setVisible(false);
}
 
Example 15
Source File: ExecutorIndeterminateGui.java    From hortonmachine with GNU General Public License v3.0 5 votes vote down vote up
public ExecutorIndeterminateGui() {
    frame = new JFrame();
    JLabel label = new JLabel("Loading...");
    JProgressBar jpb = new JProgressBar();
    jpb.setIndeterminate(true);
    JPanel panel = new JPanel(new BorderLayout(10, 10));
    panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
    panel.add(label, BorderLayout.NORTH);
    panel.add(jpb, BorderLayout.CENTER);
    frame.add(panel);
    frame.pack();
    frame.setSize(w, h);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
    frame.setIconImage(ImageCache.getBuffered(ImageCache.HORTONMACHINE_FRAME_ICON));
    frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

    progress = new IProgressPrinter(){
        @Override
        public void publish( ProgressUpdate update ) {
            if (update.errorMessage != null) {
                frame.dispose();
                GuiUtilities.showErrorMessage(panel, update.errorMessage);
            } else {
                label.setText(update.updateString);
            }
        }

        @Override
        public void done() {
            if (frame != null && frame.isVisible())
                frame.dispose();
        }
    };
}
 
Example 16
Source File: PortListCallbackDialog.java    From Ardulink-2 with Apache License 2.0 5 votes vote down vote up
/**
 * Create the dialog.
 */
public PortListCallbackDialog() {
	setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
	setResizable(false);
	setModal(true);
	setTitle("Searching...");
	setBounds(100, 100, 335, 112);
	getContentPane().setLayout(new BorderLayout());
	contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
	getContentPane().add(contentPanel, BorderLayout.CENTER);
	contentPanel.setLayout(new BorderLayout(0, 0));
	{
		progressBar = new JProgressBar(0, 1);
		progressBar.setIndeterminate(true);
		contentPanel.add(progressBar);
	}
	{
		JPanel buttonPane = new JPanel();
		buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
		getContentPane().add(buttonPane, BorderLayout.SOUTH);
		{
			cancelButton = new JButton("Cancel");
			cancelButton.addActionListener(new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					dispose();
				}
			});
			cancelButton.setActionCommand("Cancel");
			buttonPane.add(cancelButton);
		}
	}
}
 
Example 17
Source File: ProgressBarDemo.java    From beautyeye with Apache License 2.0 4 votes vote down vote up
/**
     * Creates the progress panel.
     */
    public void createProgressPanel() {
	getDemoPanel().setLayout(new BorderLayout());

	JPanel textWrapper = new JPanel(new BorderLayout());
//	textWrapper.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
	textWrapper.setAlignmentX(LEFT_ALIGNMENT);
	progressTextArea = new MyTextArea();
        
	progressTextArea.getAccessibleContext().setAccessibleName(getString("ProgressBarDemo.accessible_text_area_name"));
	progressTextArea.getAccessibleContext().setAccessibleName(getString("ProgressBarDemo.accessible_text_area_description"));
	textWrapper.add(new JScrollPane(progressTextArea), BorderLayout.CENTER);

	getDemoPanel().add(textWrapper, BorderLayout.CENTER);

	JPanel progressPanel = new JPanel();
	getDemoPanel().add(progressPanel, BorderLayout.SOUTH);

	progressBar = new JProgressBar(JProgressBar.HORIZONTAL, 0, text.length()) {
	    public Dimension getPreferredSize() {
		return new Dimension(270, super.getPreferredSize().height);
//	    	return new Dimension(super.getPreferredSize().width,300 );
	    }
	};
//	progressBar.setForeground(Color.red);
//	progressBar.setBackground(Color.pink);
//	progressBar.setOrientation(JProgressBar.VERTICAL);//* add by Jack Jiang for test
	progressBar.getAccessibleContext().setAccessibleName(getString("ProgressBarDemo.accessible_text_loading_progress"));
	progressBar.setStringPainted(true);//* add by Jack Jiang for test
//	progressBar.setPreferredSize(new Dimension(800,25));
	
//	progressPanel.add(progressBar);
//	progressPanel.add(createLoadButton());
//	progressPanel.add(createStopButton());
	
		JPanel p1 = new JPanel(); 
		p1.add(progressBar);
		p1.add(createLoadButton());
		p1.add(createStopButton());
		
		progressPanel.add(p1);
		
		JProgressBar pbIndeterminate = new JProgressBar()
		{
		    public Dimension getPreferredSize() {
//			    	return new Dimension(15,300 );
		    		return new Dimension(200, 15);
			    }
		}
		;
//		pbIndeterminate.setForeground(Color.black);
		//when the task of (initially) unknown length begins:
		pbIndeterminate.setIndeterminate(true);
//		pbIndeterminate.setOrientation(JProgressBar.VERTICAL);//* add by Jack Jiang for test
		progressPanel.add(pbIndeterminate);

    }
 
Example 18
Source File: SplashScreen.java    From importer-exporter with Apache License 2.0 4 votes vote down vote up
private void init(int numberOfSteps, int messageX, int messageY, Color messageColor) {
	JPanel content = new JPanel() {
		public boolean isOptimizedDrawingEnabled() {
			return false;
		}
	};
	
	content.setLayout(new OverlayLayout(content));
	content.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY, 1));
	
	JPanel dynamicContent = new JPanel();
	dynamicContent.setOpaque(false);
	dynamicContent.setLayout(new GridBagLayout());
		
	message = new JLabel();
	message.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 12));
	message.setForeground(messageColor);
	
	progressBar = new JProgressBar();
	progressBar.setPreferredSize(new Dimension(icon.getIconWidth(), 18));
	progressBar.setIndeterminate(false);
	progressBar.setMaximum(numberOfSteps);
	progressBar.setVisible(false);
	
	GridBagConstraints c = GuiUtil.setConstraints(0, 0, 1, 1, GridBagConstraints.HORIZONTAL, 5 + messageY, 5 + messageX, 0, 5);
	c.anchor = GridBagConstraints.NORTH;
	dynamicContent.add(message, c);
	
	c = GuiUtil.setConstraints(0, 1, 1, 1, GridBagConstraints.HORIZONTAL, 5, 5, 5, 5);
	c.anchor = GridBagConstraints.SOUTH;
	dynamicContent.add(progressBar, c);
	
	dynamicContent.setAlignmentX(0f);
	dynamicContent.setAlignmentY(0f);
	content.add(dynamicContent);
	
	JLabel image = new JLabel(icon);
	image.setAlignmentX(0f);
	image.setAlignmentY(0f);
	content.add(image);
	
	add(content, BorderLayout.CENTER);
	
	// center on screen
	Toolkit t = Toolkit.getDefaultToolkit();
	Insets frame_insets = t.getScreenInsets(GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration());
	int frame_insets_x = frame_insets.left + frame_insets.right;
	int frame_insets_y = frame_insets.bottom + frame_insets.top;
	
	Dimension dim = t.getScreenSize();
	int x = (dim.width - icon.getIconWidth() - frame_insets_x) / 2;
	int y = (dim.height - icon.getIconHeight() - frame_insets_y) / 2;		
	setMinimumSize(new Dimension(icon.getIconWidth(), icon.getIconHeight()));
	setLocation(x, y);
	setAlwaysOnTop(true);
}
 
Example 19
Source File: LibraryUpdater.java    From gcs with Mozilla Public License 2.0 4 votes vote down vote up
public static final void download(Library library, Release release) {
    LibraryUpdater lib = new LibraryUpdater(library, release);
    if (GraphicsEnvironment.isHeadless()) {
        FutureTask<Object> task = new FutureTask<>(lib, null);
        QUEUE.submit(task);
        try {
            task.get();
        } catch (Exception exception) {
            Log.error(exception);
        }
    } else {
        // Close any open files that come from the library
        Workspace workspace = Workspace.get();
        Path      prefix    = library.getPath();
        String    title     = library.getTitle();
        for (Dockable dockable : workspace.getDock().getDockables()) {
            if (dockable instanceof DataFileDockable) {
                DataFileDockable dfd  = (DataFileDockable) dockable;
                Path             path = dfd.getBackingFile();
                if (path != null && path.toAbsolutePath().startsWith(prefix)) {
                    if (dfd.mayAttemptClose()) {
                        if (!dfd.attemptClose()) {
                            JOptionPane.showMessageDialog(null, String.format(I18n.Text("GCS %s update was canceled."), title), I18n.Text("Canceled!"), JOptionPane.INFORMATION_MESSAGE);
                            return;
                        }
                    }
                }
            }
        }

        // Put up a progress dialog
        JDialog dialog = new JDialog(workspace, String.format(I18n.Text("Update %s"), title), true);
        dialog.setResizable(false);
        dialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
        dialog.setUndecorated(true);
        JComponent content = (JComponent) dialog.getContentPane();
        content.setLayout(new BorderLayout());
        content.setBorder(new CompoundBorder(new LineBorder(), new EmptyBorder(10)));
        content.add(new JLabel(String.format(I18n.Text("Downloading and installing the %s…"), title)), BorderLayout.NORTH);
        JProgressBar bar = new JProgressBar();
        bar.setIndeterminate(true);
        content.add(bar);
        dialog.pack();
        dialog.setLocationRelativeTo(workspace);
        lib.mDialog = dialog;
        QUEUE.submit(lib);
        dialog.setVisible(true);
    }
}
 
Example 20
Source File: ExportStatusDialog.java    From importer-exporter with Apache License 2.0 4 votes vote down vote up
private void initGUI(String impExpTitle, String impExpMessage) {
	setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
	fileName = new JLabel(impExpMessage);
	fileName.setFont(fileName.getFont().deriveFont(Font.BOLD));
	messageLabel = new JLabel(" ");
	cancelButton = new JButton(Language.I18N.getString("common.button.cancel"));
	featureLabel = new JLabel(Language.I18N.getString("common.status.dialog.featureCounter"));
	appearanceLabel = new JLabel(Language.I18N.getString("common.status.dialog.appearanceCounter"));
	textureLabel = new JLabel(Language.I18N.getString("common.status.dialog.textureCounter"));

	featureCounterLabel = new JLabel("0", SwingConstants.TRAILING);
	appearanceCounterLabel = new JLabel("0", SwingConstants.TRAILING);
	textureCounterLabel = new JLabel("0", SwingConstants.TRAILING);
	featureCounterLabel.setPreferredSize(new Dimension(100, featureLabel.getPreferredSize().height));
	appearanceCounterLabel.setPreferredSize(new Dimension(100, appearanceLabel.getPreferredSize().height));
	textureCounterLabel.setPreferredSize(new Dimension(100, textureLabel.getPreferredSize().height));

	progressBar = new JProgressBar();

	setLayout(new GridBagLayout()); 
	{			
		main = new JPanel();
		add(main, GuiUtil.setConstraints(0,0,1.0,0.0,GridBagConstraints.BOTH,5,5,5,5));
		main.setLayout(new GridBagLayout());
		{
			int gridY = 0;

			main.add(fileName, GuiUtil.setConstraints(0,gridY++,0.0,0,GridBagConstraints.HORIZONTAL,5,5,5,5));
			main.add(messageLabel, GuiUtil.setConstraints(0,gridY++,0.0,0,GridBagConstraints.HORIZONTAL,5,5,0,5));
			main.add(progressBar, GuiUtil.setConstraints(0,gridY++,1.0,0.0,GridBagConstraints.HORIZONTAL,0,5,5,5));

			details = new JLabel("Details");
			main.add(details, GuiUtil.setConstraints(0,gridY++,1.0,0.0,GridBagConstraints.HORIZONTAL,5,5,0,5));

			row = new JPanel();
			row.setBackground(new Color(255, 255, 255));
			row.setBorder(BorderFactory.createEtchedBorder());
			main.add(row, GuiUtil.setConstraints(0,gridY++,1.0,0.0,GridBagConstraints.BOTH,0,5,5,5));
			row.setLayout(new GridBagLayout());
			{
				row.add(featureLabel, GuiUtil.setConstraints(0,0,0.0,0.0,GridBagConstraints.HORIZONTAL,5,5,1,5));
				row.add(featureCounterLabel, GuiUtil.setConstraints(1,0,1.0,0.0,GridBagConstraints.HORIZONTAL,5,5,1,5));
				row.add(appearanceLabel, GuiUtil.setConstraints(0,1,0.0,0.0,GridBagConstraints.HORIZONTAL,1,5,1,5));
				row.add(appearanceCounterLabel, GuiUtil.setConstraints(1,1,1.0,0.0,GridBagConstraints.HORIZONTAL,1,5,1,5));
				row.add(textureLabel, GuiUtil.setConstraints(0,2,0.0,0.0,GridBagConstraints.HORIZONTAL,1,5,5,5));
				row.add(textureCounterLabel, GuiUtil.setConstraints(1,2,1.0,0.0,GridBagConstraints.HORIZONTAL,1,5,5,5));

				if (showTileCounter) {
					tileLabel = new JLabel(Language.I18N.getString("common.status.dialog.tileCounter"));
					tileCounterLabel = new JLabel("n/a", SwingConstants.TRAILING);
					tileCounterLabel.setPreferredSize(new Dimension(100, tileCounterLabel.getPreferredSize().height));

					row.add(tileLabel, GuiUtil.setConstraints(0,3,0.0,0.0,GridBagConstraints.HORIZONTAL,1,5,5,5));
					row.add(tileCounterLabel, GuiUtil.setConstraints(1,3,1.0,0.0,GridBagConstraints.HORIZONTAL,1,5,5,5));
				}
			}
		}

		add(cancelButton, GuiUtil.setConstraints(0,1,0.0,0.5,GridBagConstraints.NONE,5,5,5,5));
	}

	pack();
	progressBar.setIndeterminate(true);

	addWindowListener(new WindowAdapter() {
		public void windowClosed(WindowEvent e) {
			eventDispatcher.removeEventHandler(ExportStatusDialog.this);
		}
	});
}