四虎影院 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));
    }
}