1 2 25 26 package org.aspectj.ajde.ui.swing; 27 28 import java.awt.*; 29 import java.awt.event.*; 30 import javax.swing.*; 31 import javax.swing.border.*; 32 33 class ErrorDialog extends JDialog { 34 JPanel top_panel = new JPanel(); 35 BorderLayout borderLayout2 = new BorderLayout(); 36 JPanel button_panel = new JPanel(); 37 JButton close_button = new JButton(); 38 JScrollPane jScrollPane1 = new JScrollPane(); 39 JTextArea stackTrace_textArea = new JTextArea(); 40 JPanel jPanel1 = new JPanel(); 41 JLabel error_label1 = new JLabel(); 42 JLabel error_label2 = new JLabel(); 43 BorderLayout borderLayout1 = new BorderLayout(); 44 Border border1; 45 BorderLayout borderLayout3 = new BorderLayout(); 46 47 public ErrorDialog(Frame owner, String title, Throwable throwable, String message, String details) { 48 super(owner, title, true); 49 try { 50 jbInit(); 51 String exceptionName = "<unknown exception>"; 52 if (throwable != null) exceptionName = throwable.getClass().getName(); 53 this.error_label1.setText("A " + exceptionName + " exception has occured."); 54 this.error_label2.setText("Please copy the following report and submit it at http://aspectj.org/bugs"); 55 this.stackTrace_textArea.setText("Message: " + message + '\n' + "Stack trace: " + details); 56 this.setSize(420, 330); 57 this.setLocationRelativeTo(owner); 58 this.getContentPane().setLayout(borderLayout1); 59 } 60 catch(Exception e) { 61 e.printStackTrace(); 62 } 63 } 64 65 private void jbInit() throws Exception { 66 border1 = BorderFactory.createEmptyBorder(5,5,5,5); 67 this.getContentPane().setLayout(borderLayout1); 68 top_panel.setLayout(borderLayout2); 69 close_button.setFont(new java.awt.Font ("Dialog", 0, 11)); 70 close_button.setText("Close"); 71 close_button.addActionListener(new java.awt.event.ActionListener () { 72 public void actionPerformed(ActionEvent e) { 73 close_button_actionPerformed(e); 74 } 75 }); 76 top_panel.setBorder(border1); 77 top_panel.setPreferredSize(new Dimension(400, 290)); 78 stackTrace_textArea.setFont(new java.awt.Font ("Monospaced", 0, 11)); 79 error_label1.setFont(new java.awt.Font ("Dialog", 0, 11)); 80 error_label1.setFont(new java.awt.Font ("Dialog", 0, 11)); 81 error_label1.setForeground(Color.black); 82 error_label1.setMaximumSize(new Dimension(400, 16)); 83 error_label1.setPreferredSize(new Dimension(390, 16)); 84 error_label1.setText("label1"); 85 jPanel1.setLayout(borderLayout3); 86 error_label2.setFont(new java.awt.Font ("Dialog", 0, 11)); 87 error_label2.setMaximumSize(new Dimension(400, 16)); 88 error_label2.setPreferredSize(new Dimension(390, 16)); 89 error_label2.setText("label2"); 90 error_label2.setForeground(Color.black); 91 jPanel1.setPreferredSize(new Dimension(600, 44)); 92 this.getContentPane().add(top_panel, BorderLayout.CENTER); 93 top_panel.add(button_panel, BorderLayout.SOUTH); 94 button_panel.add(close_button, null); 95 top_panel.add(jScrollPane1, BorderLayout.CENTER); 96 top_panel.add(jPanel1, BorderLayout.NORTH); 97 jPanel1.add(error_label1, BorderLayout.NORTH); 98 jPanel1.add(error_label2, BorderLayout.CENTER); 99 jScrollPane1.getViewport().add(stackTrace_textArea, null); 100 } 101 102 void close_button_actionPerformed(ActionEvent e) { 103 this.dispose(); 104 } 105 } 106 | Popular Tags |