X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix_swing%2Fgui%2Futils%2FUiHelper.java;h=08a65b0710b76e0cca1d2aaa7ceabbad89d2fbf0;hb=30c4d6ed834b52aa4ce4b252295c41b63375ecba;hp=00f5f4ee0f551d9edf421c0ae2dd7bb306bd5639;hpb=3cdf3fd8a60d22a592e1cd0634cb108faa1f5f9f;p=fanfix.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..08a65b0 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; @@ -42,7 +40,36 @@ public class UiHelper { static public JComponent scroll(JComponent pane) { JScrollPane scroll = new JScrollPane(pane); scroll.getVerticalScrollBar().setUnitIncrement(16); - scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); + 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); + } + }); + } }