📄 errorframe.java
字号:
package de.fhm.jkf.launch.cl;
import java.awt.BorderLayout;
import java.io.PrintWriter;
import java.io.StringWriter;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/**
* $Log: ErrorFrame.java,v $
* Revision 1.1 2003/01/16 13:10:18 mwulff
* initial version
*
*
* @author Theodor Willax
*
* <br><br><center><table border="1" width="80%"><hr>
* <strong><a href="http://jkf.sourceforge.net">The JKF Project</a></strong>
* <p>
* Copyright (C) 2002 by Theodor Willax
* <p>
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* <p>
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* <p>
* You should have received a copy of the <a href="http://www.gnu.org/copyleft/lesser.html">
* GNU Lesser General Public License</a> along with this library; if not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
* <hr></table></center>
*
*/
class ErrorFrame extends JFrame {
/**
* The exception this <code>ErrorFrame</code> was built from.
*/
private Exception exception = null;
/**
* Creates an new <code>ErrorFrame</code> an prints the
* stack trace inside it.
*
* @param e the <code>Exception</code> which's information is displayed.
*/
public ErrorFrame(Exception e) {
exception = e;
setTitle("JKF Launcher Error");
JTextArea txt = new JTextArea(25, 80);
txt.append(e.getMessage() + Character.LINE_SEPARATOR);
txt.append(getStackTrace());
txt.setEditable(false);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
getContentPane().add(new JScrollPane(txt), BorderLayout.SOUTH);
pack();
}
/**
* Advises the <code>Exception</code> to print it's
* stack trace.
*/
public void printStackTrace() {
exception.printStackTrace();
}
/**
* Returns the stack trace from this <code>Exception</code>
* as <code>String</code>.
*
* @return The stack trace as <code>String</code>.
*/
public String getStackTrace() {
StringWriter stringWriter = new StringWriter();
PrintWriter writer = new PrintWriter(stringWriter);
exception.printStackTrace(writer);
writer.close();
String s = stringWriter.toString();
try { stringWriter.close(); } catch (Exception ignore) {};
return s;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -