KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sape > carbon > services > exception > ExceptionViewer


1 /*
2  * The contents of this file are subject to the Sapient Public License
3  * Version 1.0 (the "License"); you may not use this file except in compliance
4  * with the License. You may obtain a copy of the License at
5  * http://carbon.sf.net/License.html.
6  *
7  * Software distributed under the License is distributed on an "AS IS" basis,
8  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
9  * the specific language governing rights and limitations under the License.
10  *
11  * The Original Code is The Carbon Component Framework.
12  *
13  * The Initial Developer of the Original Code is Sapient Corporation
14  *
15  * Copyright (C) 2003 Sapient Corporation. All Rights Reserved.
16  */

17
18 package org.sape.carbon.services.exception;
19
20
21 import java.util.ArrayList JavaDoc;
22 import java.util.List JavaDoc;
23
24 import javax.swing.UIManager JavaDoc;
25
26 import org.sape.carbon.core.exception.ExceptionUtility;
27
28 /**
29  *
30  * Copyright 2002 Sapient
31  * @since carbon 1.0
32  * @author Greg Hinkle, January 2002
33  * @version $Revision: 1.6 $($Author: dvoet $ / $Date: 2003/05/05 21:21:25 $)
34  */

35 public class ExceptionViewer extends javax.swing.JFrame JavaDoc {
36
37     List JavaDoc exceptionList = new ArrayList JavaDoc();
38     int currentIndex = 0;
39
40     /** Creates new form ExceptionViewer */
41     public ExceptionViewer() {
42         initComponents();
43
44
45         this.errorIconLabel.setIcon(UIManager.getIcon("OptionPane.errorIcon"));
46     }
47
48     public void addException(Throwable JavaDoc throwable) {
49         this.exceptionList.add(throwable);
50         pickException(this.exceptionList.size() - 1);
51     }
52
53     private void pickException(int index) {
54         Throwable JavaDoc throwable = (Throwable JavaDoc) this.exceptionList.get(index);
55         if (throwable != null) {
56             this.jEditorPane1.setText(ExceptionUtility.printStackTracesToString(throwable));
57
58             this.classLabel.setText(throwable.getClass().getName());
59             this.messageLabel.setText(throwable.getMessage());
60
61             this.currentIndex = index;
62         }
63
64         this.nextButton.setEnabled((this.exceptionList.size()-1) > this.currentIndex);
65
66         this.previousButton.setEnabled(this.currentIndex > 0);
67
68         this.setTitle("Carbon Exception Viewer - Showing " + this.currentIndex +
69             " out of " + this.exceptionList.size());
70     }
71
72     /** This method is called from within the constructor to
73      * initialize the form.
74      * WARNING: Do NOT modify this code. The content of this method is
75      * always regenerated by the Form Editor.
76      */

77     private void initComponents() {//GEN-BEGIN:initComponents
78
java.awt.GridBagConstraints JavaDoc gridBagConstraints;
79
80         jPanel1 = new javax.swing.JPanel JavaDoc();
81         jButton1 = new javax.swing.JButton JavaDoc();
82         previousButton = new javax.swing.JButton JavaDoc();
83         nextButton = new javax.swing.JButton JavaDoc();
84         jScrollPane1 = new javax.swing.JScrollPane JavaDoc();
85         jEditorPane1 = new javax.swing.JEditorPane JavaDoc();
86         jPanel2 = new javax.swing.JPanel JavaDoc();
87         errorIconLabel = new javax.swing.JLabel JavaDoc();
88         classLabelLabel = new javax.swing.JLabel JavaDoc();
89         classLabel = new javax.swing.JLabel JavaDoc();
90         messageLabelLabel = new javax.swing.JLabel JavaDoc();
91         messageLabel = new javax.swing.JLabel JavaDoc();
92
93         addWindowListener(new java.awt.event.WindowAdapter JavaDoc() {
94             public void windowClosing(java.awt.event.WindowEvent JavaDoc evt) {
95                 exitForm(evt);
96             }
97         });
98
99         jPanel1.setLayout(new java.awt.FlowLayout JavaDoc(java.awt.FlowLayout.CENTER, 7, 5));
100
101         jButton1.setText("Close");
102         jButton1.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
103         jButton1.addActionListener(new java.awt.event.ActionListener JavaDoc() {
104             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
105                 jButton1ActionPerformed(evt);
106             }
107         });
108
109         jPanel1.add(jButton1);
110
111         previousButton.setText("<< Previous");
112         previousButton.addActionListener(new java.awt.event.ActionListener JavaDoc() {
113             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
114                 previousButtonActionPerformed(evt);
115             }
116         });
117
118         jPanel1.add(previousButton);
119
120         nextButton.setText("Next >>");
121         nextButton.addActionListener(new java.awt.event.ActionListener JavaDoc() {
122             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
123                 nextButtonActionPerformed(evt);
124             }
125         });
126
127         jPanel1.add(nextButton);
128
129         getContentPane().add(jPanel1, java.awt.BorderLayout.SOUTH);
130
131         jScrollPane1.setViewportView(jEditorPane1);
132
133         getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);
134
135         jPanel2.setLayout(new java.awt.GridBagLayout JavaDoc());
136
137         jPanel2.setBorder(new javax.swing.border.SoftBevelBorder JavaDoc(javax.swing.border.BevelBorder.RAISED));
138         errorIconLabel.setPreferredSize(new java.awt.Dimension JavaDoc(48, 48));
139         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
140         gridBagConstraints.gridheight = 2;
141         gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
142         gridBagConstraints.insets = new java.awt.Insets JavaDoc(11, 7, 11, 14);
143         jPanel2.add(errorIconLabel, gridBagConstraints);
144
145         classLabelLabel.setText("Exception");
146         classLabelLabel.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
147         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
148         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 0, 3, 5);
149         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST;
150         jPanel2.add(classLabelLabel, gridBagConstraints);
151
152         classLabel.setFont(new java.awt.Font JavaDoc("Courier New", 0, 12));
153         classLabel.setText("jLabel2");
154         classLabel.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
155         classLabel.setPreferredSize(new java.awt.Dimension JavaDoc(150, 14));
156         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
157         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
158         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 0, 3, 0);
159         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
160         gridBagConstraints.weightx = 1.0;
161         jPanel2.add(classLabel, gridBagConstraints);
162
163         messageLabelLabel.setText("Message");
164         messageLabelLabel.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
165         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
166         gridBagConstraints.gridx = 1;
167         gridBagConstraints.gridy = 1;
168         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 0, 3, 5);
169         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST;
170         jPanel2.add(messageLabelLabel, gridBagConstraints);
171
172         messageLabel.setFont(new java.awt.Font JavaDoc("Courier New", 0, 12));
173         messageLabel.setText("jLabel4");
174         messageLabel.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
175         messageLabel.setPreferredSize(new java.awt.Dimension JavaDoc(150, 14));
176         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
177         gridBagConstraints.gridx = 2;
178         gridBagConstraints.gridy = 1;
179         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
180         gridBagConstraints.insets = new java.awt.Insets JavaDoc(3, 0, 3, 0);
181         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
182         gridBagConstraints.weightx = 1.0;
183         jPanel2.add(messageLabel, gridBagConstraints);
184
185         getContentPane().add(jPanel2, java.awt.BorderLayout.NORTH);
186
187         pack();
188         java.awt.Dimension JavaDoc screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
189         setSize(new java.awt.Dimension JavaDoc(583, 478));
190         setLocation((screenSize.width-583)/2,(screenSize.height-478)/2);
191     }//GEN-END:initComponents
192

193     private void nextButtonActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_nextButtonActionPerformed
194
// Add your handling code here:
195
this.pickException(this.currentIndex+1);
196     }//GEN-LAST:event_nextButtonActionPerformed
197

198     private void previousButtonActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_previousButtonActionPerformed
199
// Add your handling code here:
200
this.pickException(this.currentIndex - 1);
201     }//GEN-LAST:event_previousButtonActionPerformed
202

203     private void jButton1ActionPerformed(java.awt.event.ActionEvent JavaDoc evt) {//GEN-FIRST:event_jButton1ActionPerformed
204
// Add your handling code here:
205
this.setVisible(false);
206         this.dispose();
207     }//GEN-LAST:event_jButton1ActionPerformed
208

209     /** Exit the Application */
210     private void exitForm(java.awt.event.WindowEvent JavaDoc evt) {//GEN-FIRST:event_exitForm
211
System.exit(0);
212     }//GEN-LAST:event_exitForm
213

214     /**
215      * @param args the command line arguments
216      */

217     public static void main(String JavaDoc args[]) {
218         new ExceptionViewer().show();
219     }
220
221
222     // Variables declaration - do not modify//GEN-BEGIN:variables
223
private javax.swing.JLabel JavaDoc classLabelLabel;
224     private javax.swing.JPanel JavaDoc jPanel2;
225     private javax.swing.JPanel JavaDoc jPanel1;
226     private javax.swing.JButton JavaDoc jButton1;
227     private javax.swing.JScrollPane JavaDoc jScrollPane1;
228     private javax.swing.JLabel JavaDoc messageLabel;
229     private javax.swing.JLabel JavaDoc classLabel;
230     private javax.swing.JLabel JavaDoc errorIconLabel;
231     private javax.swing.JEditorPane JavaDoc jEditorPane1;
232     private javax.swing.JButton JavaDoc previousButton;
233     private javax.swing.JLabel JavaDoc messageLabelLabel;
234     private javax.swing.JButton JavaDoc nextButton;
235     // End of variables declaration//GEN-END:variables
236

237 }
238
Popular Tags