package de.gaalop.gui;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.StringWriter;
import java.io.PrintWriter;
public class ErrorDialog extends JDialog {
/**
*
*/
private static final long serialVersionUID = 2734636520548199800L;
private JPanel contentPane;
private JButton buttonOk;
private JEditorPane editorPane1;
private JScrollPane scrollPane;
private JTextPane textPanel;
public ErrorDialog() {
setContentPane(contentPane);
setModal(true);
getRootPane().setDefaultButton(buttonOk);
buttonOk.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
onOK();
}
});
this.addWindowListener(new WindowAdapter() {
@Override
public void windowActivated(WindowEvent e) {
buttonOk.requestFocus();
}
});
}
private void onOK() {
// add your code here
dispose();
}
public static void show(Throwable e) {
ErrorDialog dialog = new ErrorDialog();
dialog.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
dialog.textPanel.setText(e.getMessage());
dialog.editorPane1.setText(getStackTrace(e));
dialog.pack();
dialog.setLocationRelativeTo(null);
dialog.setVisible(true);
}
private static String getStackTrace(Throwable e) {
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
e.printStackTrace(printWriter);
printWriter.close();
return stringWriter.toString();
}
{
// GUI initializer generated by IntelliJ IDEA GUI Designer
// >>> IMPORTANT!! <<<
// DO NOT EDIT OR ADD ANY CODE HERE!
$$$setupUI$$$();
}
/**
* Method generated by IntelliJ IDEA GUI Designer
* >>> IMPORTANT!! <<<
* DO NOT edit this method OR call it in your code!
*
* @noinspection ALL
*/
private void $$$setupUI$$$() {
contentPane = new JPanel();
contentPane.setLayout(new BorderLayout(0, 0));
contentPane.setPreferredSize(new Dimension(480, 270));
final JPanel panel1 = new JPanel();
panel1.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 10));
contentPane.add(panel1, BorderLayout.SOUTH);
buttonOk = new JButton();
buttonOk.setText("Ok");
panel1.add(buttonOk);
final JPanel panel2 = new JPanel();
panel2.setLayout(new FlowLayout(FlowLayout.LEFT, 15, 5));
contentPane.add(panel2, BorderLayout.NORTH);
final JLabel label1 = new JLabel();
label1.setFont(new Font(label1.getFont().getName(), Font.BOLD, 28));
label1.setIcon(new ImageIcon(getClass().getResource("/de/gaalop/gui/dialog-error.png")));
label1.setText("Error");
panel2.add(label1);
final JPanel panel3 = new JPanel();
panel3.setLayout(new BorderLayout(0, 0));
contentPane.add(panel3, BorderLayout.CENTER);
panel3.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5), null));
final JPanel panel4 = new JPanel();
panel4.setLayout(new BorderLayout(0, 0));
panel3.add(panel4, BorderLayout.NORTH);
panel4.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0), null));
textPanel = new JTextPane();
textPanel.setBackground(UIManager.getColor("Panel.background"));
textPanel.setEditable(false);
panel4.add(textPanel, BorderLayout.CENTER);
scrollPane = new JScrollPane();
panel3.add(scrollPane, BorderLayout.CENTER);
scrollPane.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLoweredBevelBorder(), null));
editorPane1 = new JEditorPane();
editorPane1.setBackground(UIManager.getColor("Panel.background"));
editorPane1.setEditable(false);
scrollPane.setViewportView(editorPane1);
}
/**
* @noinspection ALL
*/
public JComponent $$$getRootComponent$$$() {
return contentPane;
}
}