X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix_swing%2Fgui%2Futils%2FUiHelper.java;h=5d23ab50a9a635b5dd537400bc6efcb0d3a34ede;hb=77e5ecd4fc25c052340fc00cc974972b2323d3d1;hp=00f5f4ee0f551d9edf421c0ae2dd7bb306bd5639;hpb=3cdf3fd8a60d22a592e1cd0634cb108faa1f5f9f;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix_swing/gui/utils/UiHelper.java b/src/be/nikiroo/fanfix_swing/gui/utils/UiHelper.java index 00f5f4e..5d23ab5 100644 --- a/src/be/nikiroo/fanfix_swing/gui/utils/UiHelper.java +++ b/src/be/nikiroo/fanfix_swing/gui/utils/UiHelper.java @@ -1,18 +1,16 @@ package be.nikiroo.fanfix_swing.gui.utils; import java.awt.Color; -import java.awt.Container; -import java.awt.Frame; -import java.awt.Window; -import java.awt.event.ActionListener; +import java.awt.Component; import javax.swing.JButton; import javax.swing.JComponent; -import javax.swing.JDialog; +import javax.swing.JOptionPane; import javax.swing.JScrollPane; -import javax.swing.SwingWorker; +import javax.swing.JTree; +import javax.swing.SwingUtilities; -import be.nikiroo.utils.Progress; +import be.nikiroo.fanfix.Instance; public class UiHelper { static private Color buttonNormal; @@ -45,4 +43,26 @@ public class UiHelper { scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); return scroll; } + + /** + * Display an error message and log the linked {@link Exception}. + * + * @param owner the owner of the error (to link the messagebox to it) + * @param message the message + * @param title the title of the error message + * @param e the exception to log if any + */ + static public void error(final Component owner, final String message, final String title, Exception e) { + Instance.getInstance().getTraceHandler().error(title + ": " + message); + if (e != null) { + Instance.getInstance().getTraceHandler().error(e); + } + + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + JOptionPane.showMessageDialog(owner, message, title, JOptionPane.ERROR_MESSAGE); + } + }); + } }