forked from KNEMC/KLALB
KLALB3.2
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
package org.kne.cloud.klalb.uitool;
|
||||
|
||||
import javax.swing.JDialog;
|
||||
import javax.swing.JFrame;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.TextArea;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Panel;
|
||||
import java.awt.Window;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTextArea;
|
||||
import javax.swing.SwingConstants;
|
||||
|
||||
import org.kne.cloud.network.klalb.ui.UIEnv;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
import java.awt.Label;
|
||||
import java.awt.Color;
|
||||
import java.awt.Font;
|
||||
import java.awt.TextField;
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.util.Random;
|
||||
|
||||
public class CrashReport extends JDialog{
|
||||
private JLabel name;
|
||||
private TextField type;
|
||||
private JTextArea stack;
|
||||
public CrashReport(Window parent ,boolean modal) {
|
||||
super(parent);
|
||||
setModal(modal);
|
||||
setTitle("错误");
|
||||
setIconImage(UIEnv.getIcon());
|
||||
setSize(500, 400);
|
||||
setLocationRelativeTo(null);
|
||||
stack = new JTextArea();
|
||||
stack.setEditable(false);
|
||||
getContentPane().add(new JScrollPane(stack), BorderLayout.CENTER);
|
||||
|
||||
Panel panel = new Panel();
|
||||
panel.setPreferredSize(new Dimension(500, 100));
|
||||
getContentPane().add(panel, BorderLayout.NORTH);
|
||||
panel.setLayout(null);
|
||||
|
||||
JLabel lblNewLabel = new JLabel("");
|
||||
lblNewLabel.setIcon(new ImageIcon(CrashReport.class.getResource("/assets/error.jpg")));
|
||||
lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
lblNewLabel.setBounds(10, 10, 80, 80);
|
||||
panel.add(lblNewLabel);
|
||||
|
||||
name = new JLabel("");
|
||||
name.setFont(new Font("宋体", Font.PLAIN, 30));
|
||||
name.setForeground(Color.RED);
|
||||
name.setBounds(96, 10, 378, 33);
|
||||
panel.add(name);
|
||||
|
||||
type = new TextField();
|
||||
type.setEditable(false);
|
||||
type.setBounds(96, 67, 378, 23);
|
||||
panel.add(type);
|
||||
|
||||
fny = new JLabel("...?");
|
||||
fny.setFont(new Font("MS Song", Font.PLAIN, 10));
|
||||
getContentPane().add(fny, BorderLayout.SOUTH);
|
||||
}
|
||||
String []s=new String[]{"鎴戜滑鍥㈤槦鍙湁涓�涓▼搴忓憳",
|
||||
"鎯虫洿鏂帮紝娌¢棬",
|
||||
"鎴戜滑鐨勬湇鍔″櫒鐪熺殑鏄笓涓氣�滃埌瀹垛�濅簡",
|
||||
"杩炴帴宸蹭涪澶憋細涓嶅幓鍋氬惎鍔ㄥ櫒灏卞幓濂宠锛屼笉鍘诲コ瑁呭氨鍘诲仛鍚姩鍣�",
|
||||
"鍦熻眴鏈嶅姟鍣ㄥ張鍙戣娊浜�"
|
||||
};
|
||||
private JLabel fny;
|
||||
public void report(Throwable e,String t){
|
||||
e.printStackTrace();
|
||||
name.setText(t);
|
||||
type.setText(e.getClass().getName());
|
||||
StringWriter sw=new StringWriter();
|
||||
PrintWriter pw=new PrintWriter(sw);
|
||||
e.printStackTrace(pw);
|
||||
pw.close();
|
||||
stack.setText(sw.toString());fny.setText(s[new Random().nextInt(s.length)]);
|
||||
setVisible(true);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user