1 package net.sf.mmapps.applications.developer.dialog; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 import java.io.*; 6 7 import javax.swing.*; 8 /*** 9 * 10 * @author Kees Jongenburger 11 * @version $Id: ExceptionDialog.java,v 1.1.1.1 2004/02/06 08:44:07 keesj Exp $ 12 **/ 13 public class ExceptionDialog extends JDialog implements ActionListener{ 14 15 /*** Creates a new instance of ExceptionDialog */ 16 public ExceptionDialog(Frame parent ,String message,Throwable t) { 17 super(parent, true); 18 19 JLabel jLabel = new JLabel(message); 20 getContentPane().add(jLabel,BorderLayout.NORTH); 21 JTextArea textArea = new JTextArea(10,60); 22 23 StringWriter st = new StringWriter(); 24 PrintWriter p = new PrintWriter(st); 25 t.printStackTrace(p); 26 textArea.setText(st.toString()); 27 JScrollPane sp = new JScrollPane(); 28 29 sp.setViewportView(textArea); 30 getContentPane().add(sp,BorderLayout.CENTER); 31 32 33 JPanel jPanel = new JPanel(); 34 jPanel.setLayout(new FlowLayout(FlowLayout.CENTER)); 35 JButton button = new JButton("ok"); 36 button.addActionListener(this); 37 jPanel.add(button); 38 getContentPane().add(jPanel,BorderLayout.SOUTH); 39 pack(); 40 addWindowListener(new java.awt.event.WindowAdapter() { 41 public void windowClosing(java.awt.event.WindowEvent evt) { 42 closeDialog(); 43 } 44 }); 45 setName("Exception dialog"); 46 } 47 48 public void show(){ 49 Dimension dim = getOwner().getSize(); 50 Point point = getOwner().getLocation(); 51 setLocation(point.x + (dim.width /2) - getWidth() /2, point.y +(dim.height /2) - getHeight()/ 2); 52 super.show(); 53 } 54 55 private void closeDialog() { 56 setVisible(false); 57 dispose(); 58 } 59 public void actionPerformed(ActionEvent event){ 60 closeDialog(); 61 } 62 }