From 59caea10471a95c5ab9d71bcbde9436fc59abf57 Mon Sep 17 00:00:00 2001 From: GraxCode Date: Sat, 2 May 2020 22:20:09 +0200 Subject: [PATCH] new loading animation and ui updates --- build.gradle | 2 +- src/me/nov/threadtear/Threadtear.java | 6 +- .../swing/panel/ConfigurationPanel.java | 11 +++- .../swing/panel/DecompilerPanel.java | 27 ++------- .../nov/threadtear/swing/panel/TreePanel.java | 5 +- .../swing/textarea/DecompilerTextArea.java | 6 +- .../threadtear/swing/tree/ClassTreePanel.java | 52 +++++++----------- src/res/spin.gif | Bin 74003 -> 0 bytes 8 files changed, 46 insertions(+), 63 deletions(-) delete mode 100644 src/res/spin.gif diff --git a/build.gradle b/build.gradle index 9abcf2c..13ed5ef 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ compileTestJava.options.encoding = 'UTF-8' javadoc.options.encoding = 'UTF-8' ext { - darklaf_ver = "2.1.0" + darklaf_ver = "2.1.1" asm_ver = "8.0.1" } diff --git a/src/me/nov/threadtear/Threadtear.java b/src/me/nov/threadtear/Threadtear.java index 03514e8..02c73c7 100644 --- a/src/me/nov/threadtear/Threadtear.java +++ b/src/me/nov/threadtear/Threadtear.java @@ -39,6 +39,7 @@ public class Threadtear extends JFrame { private static final long serialVersionUID = 1L; public static final Logger logger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); public TreePanel listPanel; + public ConfigurationPanel configPanel; private LogFrame logFrame; public Threadtear() { @@ -82,8 +83,8 @@ private void initializeMenu() { private void initializeFrame() { this.setLayout(new BorderLayout(16, 16)); - this.add(listPanel = new TreePanel(), BorderLayout.CENTER); - this.add(new ConfigurationPanel(this), BorderLayout.SOUTH); + this.add(listPanel = new TreePanel(this), BorderLayout.CENTER); + this.add(configPanel = new ConfigurationPanel(this), BorderLayout.SOUTH); } private void initBounds() { @@ -161,6 +162,7 @@ public void run(boolean verbose, boolean disableSecurity) { logger.info("Successful finish!"); System.setSecurityManager(null); listPanel.classList.loadTree(classes); + configPanel.run.setEnabled(true); }).start(); }); } diff --git a/src/me/nov/threadtear/swing/panel/ConfigurationPanel.java b/src/me/nov/threadtear/swing/panel/ConfigurationPanel.java index f84a0ca..db776c8 100644 --- a/src/me/nov/threadtear/swing/panel/ConfigurationPanel.java +++ b/src/me/nov/threadtear/swing/panel/ConfigurationPanel.java @@ -33,6 +33,8 @@ public class ConfigurationPanel extends JPanel { private JCheckBox watermark; private JCheckBox disableSecurity; private JCheckBox removeSignature; + public JButton run; + public JButton save; public ConfigurationPanel(Threadtear main) { this.main = main; @@ -86,8 +88,10 @@ private JPanel createBottomButtons() { } }); panel.add(saveCfg); - JButton save = new JButton("Save as jar file", IconLoader.get().loadSVGIcon("res/save.svg", false)); + save = new JButton("Save as jar file", IconLoader.get().loadSVGIcon("res/save.svg", false)); + save.setEnabled(false); save.addActionListener(l -> { + save.setEnabled(false); File inputFile = main.listPanel.classList.inputFile; if (inputFile == null) { JOptionPane.showMessageDialog(this, "You have to load a jar file first."); @@ -104,10 +108,13 @@ private JPanel createBottomButtons() { JarIO.saveAsJar(inputFile, output, main.listPanel.classList.classes, removeSignature.isSelected(), watermark.isSelected()); Threadtear.logger.info("Saved to " + output.getAbsolutePath()); } + save.setEnabled(true); }); panel.add(save); - JButton run = new JButton("Run", IconLoader.get().loadSVGIcon("res/run.svg", false)); + run = new JButton("Run", IconLoader.get().loadSVGIcon("res/run.svg", false)); + run.setEnabled(false); run.addActionListener(l -> { + run.setEnabled(false); main.run(verbose.isSelected(), disableSecurity.isSelected()); }); panel.add(run); diff --git a/src/me/nov/threadtear/swing/panel/DecompilerPanel.java b/src/me/nov/threadtear/swing/panel/DecompilerPanel.java index c9005bd..5cdf121 100644 --- a/src/me/nov/threadtear/swing/panel/DecompilerPanel.java +++ b/src/me/nov/threadtear/swing/panel/DecompilerPanel.java @@ -1,31 +1,16 @@ package me.nov.threadtear.swing.panel; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.GridBagConstraints; -import java.awt.GridBagLayout; -import java.awt.Image; -import java.awt.Toolkit; +import java.awt.*; import java.util.Objects; -import javax.swing.BorderFactory; -import javax.swing.ImageIcon; -import javax.swing.JButton; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextField; -import javax.swing.SwingUtilities; +import javax.swing.*; import javax.swing.border.EmptyBorder; -import javax.swing.text.BadLocationException; -import javax.swing.text.DefaultHighlighter; -import javax.swing.text.Document; -import javax.swing.text.Highlighter; +import javax.swing.text.*; import org.fife.ui.rtextarea.RTextScrollPane; import org.objectweb.asm.tree.ClassNode; +import com.github.weisj.darklaf.components.loading.LoadingIndicator; import com.github.weisj.darklaf.icons.IconLoader; import com.github.weisj.darklaf.ui.text.DarkTextUI; @@ -39,7 +24,6 @@ public class DecompilerPanel extends JPanel { private int searchIndex = -1; private String lastSearchText = null; - private ImageIcon loading = new ImageIcon(Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("/res/spin.gif")).getScaledInstance(32, 32, Image.SCALE_DEFAULT)); public DecompilerPanel(ClassNode cn) { this.setLayout(new BorderLayout(4, 4)); @@ -103,7 +87,8 @@ public DecompilerPanel(ClassNode cn) { topPanel.add(new JLabel("CFR Decompiler 0.149 (www.benf.org/other/cfr)"), BorderLayout.WEST); topPanel.add(actionPanel, BorderLayout.EAST); this.add(topPanel, BorderLayout.NORTH); - JLabel loadingLabel = new JLabel("Decompiling... ", loading, JLabel.CENTER); + LoadingIndicator loadingLabel = new LoadingIndicator("Decompiling class file... ", JLabel.CENTER); + loadingLabel.setRunning(true); this.add(loadingLabel, BorderLayout.CENTER); SwingUtilities.invokeLater(() -> { new Thread(() -> { diff --git a/src/me/nov/threadtear/swing/panel/TreePanel.java b/src/me/nov/threadtear/swing/panel/TreePanel.java index d9fe6a8..e34ad91 100644 --- a/src/me/nov/threadtear/swing/panel/TreePanel.java +++ b/src/me/nov/threadtear/swing/panel/TreePanel.java @@ -9,6 +9,7 @@ import javax.swing.JSplitPane; import javax.swing.Timer; +import me.nov.threadtear.Threadtear; import me.nov.threadtear.swing.tree.ClassTreePanel; import me.nov.threadtear.swing.tree.ExecutionListPanel; @@ -17,12 +18,12 @@ public class TreePanel extends JPanel { public ClassTreePanel classList; public ExecutionListPanel executionList; - public TreePanel() { + public TreePanel(Threadtear threadtear) { this.setLayout(new BorderLayout(16, 16)); this.setBorder(BorderFactory.createEmptyBorder(16, 16, 16, 16)); JPanel inner = new JPanel(); inner.setLayout(new GridLayout(1, 2, 16, 16)); - JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, executionList = new ExecutionListPanel(), classList = new ClassTreePanel()); + JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, executionList = new ExecutionListPanel(), classList = new ClassTreePanel(threadtear)); split.putClientProperty("JSplitPane.style", "invisible"); inner.add(split); this.add(inner, BorderLayout.CENTER); diff --git a/src/me/nov/threadtear/swing/textarea/DecompilerTextArea.java b/src/me/nov/threadtear/swing/textarea/DecompilerTextArea.java index 98dae0d..4a1b381 100644 --- a/src/me/nov/threadtear/swing/textarea/DecompilerTextArea.java +++ b/src/me/nov/threadtear/swing/textarea/DecompilerTextArea.java @@ -6,6 +6,8 @@ import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; import org.fife.ui.rsyntaxtextarea.Theme; +import com.github.weisj.darklaf.*; + public class DecompilerTextArea extends RSyntaxTextArea { private static final long serialVersionUID = 1L; @@ -15,9 +17,9 @@ public DecompilerTextArea() { this.setAntiAliasingEnabled(true); this.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 12)); this.setEditable(false); - + String themeName = com.github.weisj.darklaf.theme.Theme.isDark(LafManager.getTheme()) ? "/res/rsta-theme.xml" : "/org/fife/ui/rsyntaxtextarea/themes/eclipse.xml"; try { - Theme theme = Theme.load(getClass().getResourceAsStream("/res/rsta-theme.xml")); + Theme theme = Theme.load(getClass().getResourceAsStream(themeName)); theme.apply(this); } catch (IOException e) { e.printStackTrace(); diff --git a/src/me/nov/threadtear/swing/tree/ClassTreePanel.java b/src/me/nov/threadtear/swing/tree/ClassTreePanel.java index 42719f9..3cf5644 100644 --- a/src/me/nov/threadtear/swing/tree/ClassTreePanel.java +++ b/src/me/nov/threadtear/swing/tree/ClassTreePanel.java @@ -1,44 +1,28 @@ package me.nov.threadtear.swing.tree; -import java.awt.BorderLayout; -import java.awt.Dimension; -import java.awt.GridLayout; -import java.awt.Image; -import java.awt.Toolkit; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Enumeration; - -import javax.swing.BorderFactory; -import javax.swing.ImageIcon; -import javax.swing.JButton; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.SwingUtilities; -import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.TreePath; -import javax.swing.tree.TreeSelectionModel; +import java.awt.*; +import java.awt.event.*; +import java.io.*; +import java.util.*; +import javax.swing.*; +import javax.swing.tree.*; + +import com.github.weisj.darklaf.components.loading.LoadingIndicator; import com.github.weisj.darklaf.icons.IconLoader; -import me.nov.threadtear.io.Clazz; -import me.nov.threadtear.io.JarIO; +import me.nov.threadtear.Threadtear; +import me.nov.threadtear.io.*; import me.nov.threadtear.swing.Utils; import me.nov.threadtear.swing.dialog.JarAnalysis; -import me.nov.threadtear.swing.frame.BytecodeFrame; -import me.nov.threadtear.swing.frame.DecompilerFrame; -import me.nov.threadtear.swing.handler.ILoader; -import me.nov.threadtear.swing.handler.JarDropHandler; +import me.nov.threadtear.swing.frame.*; +import me.nov.threadtear.swing.handler.*; import me.nov.threadtear.swing.tree.component.SortedTreeClassNode; import me.nov.threadtear.swing.tree.renderer.ClassTreeCellRenderer; public class ClassTreePanel extends JPanel implements ILoader { private static final long serialVersionUID = 1L; + private Threadtear threadtear; public File inputFile; public ArrayList classes; public DefaultTreeModel model; @@ -50,7 +34,8 @@ public class ClassTreePanel extends JPanel implements ILoader { private JButton bytecode; private JButton ignore; - public ClassTreePanel() { + public ClassTreePanel(Threadtear threadtear) { + this.threadtear = threadtear; this.setLayout(new BorderLayout()); this.add(outerPanel = Utils.addTitleAndBorder("Class list", new JScrollPane(tree = new ClassTree())), BorderLayout.CENTER); this.add(createButtons(), BorderLayout.SOUTH); @@ -172,12 +157,11 @@ public void mouseClicked(MouseEvent e) { } } - private ImageIcon loading = new ImageIcon(Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("/res/spin.gif")).getScaledInstance(32, 32, Image.SCALE_DEFAULT)); - @Override public void onJarLoad(File input) { this.remove(outerPanel); - JLabel loadingLabel = new JLabel("Loading class files... ", loading, JLabel.CENTER); + LoadingIndicator loadingLabel = new LoadingIndicator("Loading class files... ", JLabel.CENTER); + loadingLabel.setRunning(true); this.add(loadingLabel, BorderLayout.CENTER); this.invalidate(); this.validate(); @@ -200,6 +184,8 @@ public void onJarLoad(File input) { refreshIgnored(); model.reload(); analysis.setEnabled(true); + threadtear.configPanel.run.setEnabled(true); + threadtear.configPanel.save.setEnabled(true); this.remove(loadingLabel); this.add(outerPanel, BorderLayout.CENTER); this.invalidate(); diff --git a/src/res/spin.gif b/src/res/spin.gif deleted file mode 100644 index 40adcb07ec8cdfdcab8da67c967de0a4384e7d32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74003 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