Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2014 Leibniz Institute of Plant Genetics and Crop Plant Research (IPK), Gatersleben, Germany.
   * All rights reserved. This program and the accompanying materials
   * are made available under the terms of the Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)
   * which accompanies this distribution, and is available at http://creativecommons.org/licenses/by-nd/4.0/
   *
   * Contributors:
   *      Leibniz Institute of Plant Genetics and Crop Plant Research (IPK), Gatersleben, Germany - RMI Client, FileChooser and WebDAV
   */
 package de.ipk_gatersleben.bit.bi.edal.rmi.client.gui;
 
 import java.awt.Color;
 import java.awt.Image;
 import java.io.Writer;
 

Author(s):
arendd
 
 
 public class ErrorDialog extends JDialog {
 
 	private static final long serialVersionUID = -4967851274829031411L;
 	private static final String SHOW_DETAILS_TEXT = "Show Details ...";
 	private static final String HIDE_DETAILS_TEXT = "Hide Details";
 	private JButton jButtonClose;
 	private JPanel jPanelBottom;
 	private JPanel jPanelCenter;
 	private JPanel jPanelTop;
 
 	public ErrorDialog(String errorMessage) {
 		this(errorMessagenull);
 	}
 
 	private static Image iconToImage(Icon icon) {
 		if (icon instanceof ImageIcon) {
 			return ((ImageIconicon).getImage();
 		} else {
 			int w = icon.getIconWidth();
 			int h = icon.getIconHeight();
 
 			GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
 			Graphics2D g = image.createGraphics();
 			icon.paintIcon(nullg, 0, 0);
 			g.dispose();
 			return image;
 		}
 	}
 
 	public ErrorDialog(String errorMessageThrowable exception) {
 
 		this.setIconImage(ErrorDialog.iconToImage(UIManager.getLookAndFeel().getDefaults().getIcon("OptionPane.errorIcon")));
 
 		this.setTitle("Error");
 		this.setModal(true);
 		this.setResizable(true);
 		this.setMinimumSize(new Dimension(400, 200));
 		// this.setPreferredSize(new Dimension(400, 200));
 
 		 = new JPanel();
		 = new JButton("Close");
			public void actionPerformed(ActionEvent evt) {
			}
		});
			public void actionPerformed(ActionEvent evt) {
			}
		});
		// this.setLayout(new BoxLayout(this.getContentPane(),
		// BoxLayout.Y_AXIS));
		// this.add(jPanelTop);
		// this.add(jPanelCenter);
		// this.add(jPanelBottom);
		this.setLayout(new BorderLayout());
		Color color = UIManager.getColor("Panel.background");
		this..setText("<html><body bgcolor='rgb(" + color.getRed() + "," + color.getGreen() + "," + color.getBlue() + ")'><p/><div style='text-align:center;font-family:Arial'>" + errorMessage + "</div></body></html>");
		if (exception != null) {
			String exceptionText = getStackTraceAsString(exception);
else {
		}
		// Make [Escape] key as close button
		setModal(true);
		this.pack();
	}
	private void centerDialogOnTheScreen() {
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		Dimension dialogSize = this.getSize();
		int centerPosX = (screenSize.width - dialogSize.width) / 2;
		int centerPosY = (screenSize.height - dialogSize.height) / 2;
		setLocation(centerPosXcenterPosY);
	}
	private void showHideExceptionDetails() {
		if (this..isVisible()) {
			// Hide the exception details
			this.pack();
else {
			// Show the exception details
			this.pack();
		}
	}
	private String getStackTraceAsString(Throwable exception) {
		Writer result = new StringWriter();
		PrintWriter printWriter = new PrintWriter(result);
		exception.printStackTrace(printWriter);
		return result.toString();
	}

Make the [Escape] key to behave like the [Close] button.
	public void registerEscapeKey() {
		KeyStroke escapeKeyStroke = KeyStroke.getKeyStroke(., 0, false);
		Action escapeAction = new AbstractAction() {
			private static final long serialVersionUID = 1L;
			public void actionPerformed(ActionEvent e) {
			}
		};
		this..getInputMap(.).put(escapeKeyStroke"ESCAPE");
		this..getActionMap().put("ESCAPE"escapeAction);
	}
	public void hideAndDisposeDialog() {
		this.setVisible(false);
		this.dispose();
	}
	private static void showError(String errorMessageThrowable throwable) {
		ErrorDialog errorDialog = new ErrorDialog(errorMessagethrowable);
		errorDialog.setVisible(true);
	}
	private static void showError(String errorMessage) {
		ErrorDialog.showError(errorMessagenull);
	}
	public static void showError(Exception exception) {
		ErrorDialog.showError(exception.getMessage(), exception);
	}
	public static void main(String[] args) {
		ErrorDialog.showError("This is an error message."new Exception());
	}
New to GrepCode? Check out our FAQ X