You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ErrorDialog.java 4.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. /* *******************************************************************
  2. * Copyright (c) 1999-2001 Xerox Corporation,
  3. * 2002 Palo Alto Research Center, Incorporated (PARC).
  4. * All rights reserved.
  5. * This program and the accompanying materials are made available
  6. * under the terms of the Eclipse Public License v 2.0
  7. * which accompanies this distribution and is available at
  8. * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
  9. *
  10. * Contributors:
  11. * Xerox/PARC initial implementation
  12. * ******************************************************************/
  13. package org.aspectj.ajde.ui.swing;
  14. import java.awt.BorderLayout;
  15. import java.awt.Color;
  16. import java.awt.Dimension;
  17. import java.awt.Frame;
  18. import java.awt.event.ActionEvent;
  19. import javax.swing.BorderFactory;
  20. import javax.swing.JButton;
  21. import javax.swing.JDialog;
  22. import javax.swing.JLabel;
  23. import javax.swing.JPanel;
  24. import javax.swing.JScrollPane;
  25. import javax.swing.JTextArea;
  26. import javax.swing.border.Border;
  27. public class ErrorDialog extends JDialog {
  28. private static final long serialVersionUID = 5646564514289861666L;
  29. JPanel top_panel = new JPanel();
  30. BorderLayout borderLayout2 = new BorderLayout();
  31. JPanel button_panel = new JPanel();
  32. JButton close_button = new JButton();
  33. JScrollPane jScrollPane1 = new JScrollPane();
  34. JTextArea stackTrace_textArea = new JTextArea();
  35. JPanel jPanel1 = new JPanel();
  36. JLabel error_label1 = new JLabel();
  37. JLabel error_label2 = new JLabel();
  38. BorderLayout borderLayout1 = new BorderLayout();
  39. Border border1;
  40. BorderLayout borderLayout3 = new BorderLayout();
  41. public ErrorDialog(Frame owner, String title, Throwable throwable, String message, String details) {
  42. super(owner, title, true);
  43. try {
  44. jbInit();
  45. String exceptionName = "<unknown exception>";
  46. if (throwable != null) exceptionName = throwable.getClass().getName();
  47. this.error_label1.setText("Exception: " + exceptionName);
  48. this.error_label2.setText("If you can't fix it, please submit a bug to http://dev.eclipse.org/bugs");
  49. this.stackTrace_textArea.setText("Message: " + message + '\n' + "Stack trace: " + details);
  50. this.setSize(420, 330);
  51. this.setLocationRelativeTo(owner);
  52. this.getContentPane().setLayout(borderLayout1);
  53. }
  54. catch(Exception e) {
  55. e.printStackTrace();
  56. }
  57. }
  58. private void jbInit() throws Exception {
  59. border1 = BorderFactory.createEmptyBorder(5,5,5,5);
  60. this.getContentPane().setLayout(borderLayout1);
  61. top_panel.setLayout(borderLayout2);
  62. close_button.setFont(new java.awt.Font("Dialog", 0, 11));
  63. close_button.setText("Close");
  64. close_button.addActionListener(new java.awt.event.ActionListener() {
  65. public void actionPerformed(ActionEvent e) {
  66. close_button_actionPerformed(e);
  67. }
  68. });
  69. top_panel.setBorder(border1);
  70. top_panel.setPreferredSize(new Dimension(400, 290));
  71. stackTrace_textArea.setFont(new java.awt.Font("Monospaced", 0, 11));
  72. error_label1.setFont(new java.awt.Font("Dialog", 0, 11));
  73. error_label1.setFont(new java.awt.Font("Dialog", 0, 11));
  74. error_label1.setForeground(Color.black);
  75. error_label1.setMaximumSize(new Dimension(400, 16));
  76. error_label1.setPreferredSize(new Dimension(390, 16));
  77. error_label1.setText("label1");
  78. jPanel1.setLayout(borderLayout3);
  79. error_label2.setFont(new java.awt.Font("Dialog", 0, 11));
  80. error_label2.setMaximumSize(new Dimension(400, 16));
  81. error_label2.setPreferredSize(new Dimension(390, 16));
  82. error_label2.setText("label2");
  83. error_label2.setForeground(Color.black);
  84. jPanel1.setPreferredSize(new Dimension(600, 44));
  85. this.getContentPane().add(top_panel, BorderLayout.CENTER);
  86. top_panel.add(button_panel, BorderLayout.SOUTH);
  87. button_panel.add(close_button, null);
  88. top_panel.add(jScrollPane1, BorderLayout.CENTER);
  89. top_panel.add(jPanel1, BorderLayout.NORTH);
  90. jPanel1.add(error_label1, BorderLayout.NORTH);
  91. jPanel1.add(error_label2, BorderLayout.CENTER);
  92. jScrollPane1.getViewport().add(stackTrace_textArea, null);
  93. }
  94. void close_button_actionPerformed(ActionEvent e) {
  95. this.dispose();
  96. }
  97. }