package com.jme3.system;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/**
* Simple dialog for diplaying error messages,
*
* @author kwando
*/
public class ErrorDialog extends JDialog {
public static String DEFAULT_TITLE = "Error in application";
public static int PADDING = 8;
/**
* Create a new Dialog with a title and a message.
* @param message
* @param title
*/
public ErrorDialog(String message, String title) {
setTitle(title);
setSize(new Dimension(600, 400));
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
setLocationRelativeTo(null);
Container container = getContentPane();
container.setLayout(new BorderLayout());
JTextArea textArea = new JTextArea();
textArea.setText(message);
textArea.setEditable(false);
textArea.setMargin(new Insets(PADDING, PADDING, PADDING, PADDING));
add(new JScrollPane(textArea), BorderLayout.CENTER);
final JDialog dialog = this;
JButton button = new JButton(new AbstractAction("OK"){
@Override
public void actionPerformed(ActionEvent e) {
dialog.dispose();
}
});
add(button, BorderLayout.SOUTH);
}
public ErrorDialog(String message){
this(message, DEFAULT_TITLE);
}
/**
* Show a dialog with the proved message.
* @param message
*/
public static void showDialog(String message){
ErrorDialog dialog = new ErrorDialog(message);
dialog.setVisible(true);
}
}