KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > aspectj > ajde > ui > swing > ErrorDialog


1
2 /* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
3  *
4  * This file is part of the IDE support for the AspectJ(tm)
5  * programming language; see http://aspectj.org
6  *
7  * The contents of this file are subject to the Mozilla Public License
8  * Version 1.1 (the "License"); you may not use this file except in
9  * compliance with the License. You may obtain a copy of the License at
10  * either http://www.mozilla.org/MPL/ or http://aspectj.org/MPL/.
11  *
12  * Software distributed under the License is distributed on an "AS IS" basis,
13  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14  * for the specific language governing rights and limitations under the
15  * License.
16  *
17  * The Original Code is AspectJ.
18  *
19  * The Initial Developer of the Original Code is Xerox Corporation. Portions
20  * created by Xerox Corporation are Copyright (C) 1999-2002 Xerox Corporation.
21  * All Rights Reserved.
22  *
23  * Contributor(s):
24  */

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 JavaDoc title, Throwable JavaDoc throwable, String JavaDoc message, String JavaDoc details) {
48         super(owner, title, true);
49         try {
50             jbInit();
51             String JavaDoc 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 JavaDoc e) {
61             e.printStackTrace();
62         }
63     }
64
65     private void jbInit() throws Exception JavaDoc {
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 JavaDoc("Dialog", 0, 11));
70         close_button.setText("Close");
71         close_button.addActionListener(new java.awt.event.ActionListener JavaDoc() {
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 JavaDoc("Monospaced", 0, 11));
79         error_label1.setFont(new java.awt.Font JavaDoc("Dialog", 0, 11));
80         error_label1.setFont(new java.awt.Font JavaDoc("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 JavaDoc("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