四虎影院 v4.1.6版本的 MD5 值为:3c86dc44d368396917a29935d39af88b
以下内容为反编译后的 e.java 源代码,内容仅作参考
package q.c.a.o.i;
import java.awt.Dimension;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.lang.Thread;
import java.util.logging.LogManager;
import javax.inject.Inject;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import q.c.a.o.i.n.a;
public abstract class e implements i, Thread.UncaughtExceptionHandler {
@Inject
public a.b a;
public final JFrame b = new JFrame();
public final q.f.c.q.g f20628c = new a();
public boolean f20629d;
public class a extends q.f.c.q.g {
public a() {
}
@Override
public void a(q.f.c.q.d dVar) {
e.this.a.a(dVar);
}
}
public class b extends WindowAdapter {
public b() {
}
public void a(WindowEvent windowEvent) {
e.this.b.dispose();
}
}
public class c extends Thread {
public c() {
}
@Override
public void run() {
e eVar = e.this;
if (eVar.f20629d) {
return;
}
eVar.shutdown();
}
}
public class d implements Runnable {
public d() {
}
@Override
public void run() {
e.this.b.dispose();
}
}
public class RunnableC0456e implements Runnable {
public final Throwable a;
public class a implements ActionListener {
public a() {
}
public void a(ActionEvent actionEvent) {
System.exit(1);
}
}
public RunnableC0456e(Throwable th) {
this.a = th;
}
@Override
public void run() {
e.this.b.getContentPane().removeAll();
JTextArea jTextArea = new JTextArea();
jTextArea.setEditable(false);
StringBuilder sb = new StringBuilder();
sb.append("An exceptional error occurred!\nYou can try to continue or exit the application.\n\n");
sb.append("Please tell us about this here:\nhttp://www.4thline.org/projects/mailinglists-cling.html\n\n");
sb.append("-------------------------------------------------------------------------------------------------------------\n\n");
StringWriter stringWriter = new StringWriter();
this.a.printStackTrace(new PrintWriter(stringWriter));
sb.append(stringWriter.toString());
jTextArea.setText(sb.toString());
e.this.b.getContentPane().add(new JScrollPane(jTextArea), "Center");
JButton jButton = new JButton("Exit Application");
jButton.addActionListener(new a());
e.this.b.getContentPane().add(jButton, "South");
e.this.b.pack();
q.f.c.c.a((Window) e.this.b);
jTextArea.setCaretPosition(0);
e.this.b.setVisible(true);
}
}
public abstract String a();
public void b() {
try {
if (q.f.d.f.c()) {
g.a(this, a());
}
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception unused) {
}
this.b.setPreferredSize(new Dimension(900, 400));
this.b.addWindowListener(new b());
Thread.setDefaultUncaughtExceptionHandler(this);
Runtime.getRuntime().addShutdownHook(new c());
if (System.getProperty("java.util.logging.config.file") == null) {
q.f.d.q.a.a(this.f20628c);
} else {
LogManager.getLogManager().getLogger("").addHandler(this.f20628c);
}
}
public void c() {
LogManager.getLogManager().getLogger("").removeHandler(this.f20628c);
}
@Override
public void shutdown() {
this.f20629d = true;
SwingUtilities.invokeLater(new d());
}
@Override
public void uncaughtException(Thread thread, Throwable th) {
System.err.println("In thread '" + thread + "' uncaught exception: " + th);
th.printStackTrace(System.err);
SwingUtilities.invokeLater(new RunnableC0456e(th));
}
}