33import java .awt .Color ;
44import java .awt .EventQueue ;
55import java .awt .Font ;
6+ import java .awt .Toolkit ;
7+ import java .awt .datatransfer .StringSelection ;
68import java .awt .event .ActionEvent ;
79import java .awt .event .ActionListener ;
810import java .awt .event .MouseAdapter ;
@@ -394,6 +396,11 @@ public void actionPerformed(ActionEvent e)
394396 List <String > split = new ArrayList <>();
395397 while (matcher .find ())
396398 split .add (matcher .group (1 ).replace ("\" " , "" ));
399+ deobfuscatorField .setText ("" );
400+ inputField .setText ("" );
401+ outputField .setText ("" );
402+ selectedTransformers .clear ();
403+ librariesList .clear ();
397404 for (int i = 0 ; i < split .size (); i ++)
398405 {
399406 String arg = split .get (i );
@@ -409,22 +416,69 @@ else if(arg.equals("-transformer") && split.size() > i + 1)
409416 selectedTransformers .addElement (split .get (i + 1 ));
410417 else if (arg .equals ("-path" ) && split .size () > i + 1 )
411418 librariesList .addElement (split .get (i + 1 ));
412- newFrame .dispose ();
413419 }
420+ newFrame .dispose ();
414421 }
415422 });
416423 }
417424 });
418425
419- JButton btnSaveConfig = new JButton ("Save Config" );
420- btnSaveConfig .setBounds (130 , 474 , 99 , 26 );
421- frame .getContentPane ().add (btnSaveConfig );
422- btnSaveConfig .addActionListener (new ActionListener ()
426+ JButton btnCopyConfig = new JButton ("Copy Config" );
427+ btnCopyConfig .setBounds (130 , 474 , 99 , 26 );
428+ frame .getContentPane ().add (btnCopyConfig );
429+ btnCopyConfig .addActionListener (new ActionListener ()
423430 {
424431 @ Override
425432 public void actionPerformed (ActionEvent e )
426433 {
434+ JFrame newFrame = new JFrame ();
435+ newFrame .setTitle ("Copy Config" );
436+ newFrame .setBounds (100 , 100 , 450 , 200 );
437+ newFrame .getContentPane ().setLayout (null );
438+
439+ JLabel lblCopyYourCommand = new JLabel ("<html>Copy the command below and execute it via\r \n your command executor to run it.</html>" );
440+ lblCopyYourCommand .setBounds (10 , 11 , 379 , 34 );
441+ newFrame .getContentPane ().add (lblCopyYourCommand );
442+
443+ JScrollPane scrollPane = new JScrollPane ();
444+ JTextPane textPane = new JTextPane ();
445+ textPane .setBounds (20 , 42 , 369 , 70 );
446+ textPane .setEditable (false );
447+ scrollPane .setViewportView (textPane );
448+ scrollPane .setBounds (textPane .getBounds ());
449+ newFrame .getContentPane ().add (scrollPane );
450+
451+ //Write args
452+ StringBuilder builder = new StringBuilder ();
453+ builder .append ("java -jar" );
454+ builder .append (" \" " + deobfuscatorField .getText () + "\" " );
455+ builder .append (" -input " + "\" " + inputField .getText () + "\" " );
456+ builder .append (" -output " + "\" " + outputField .getText () + "\" " );
457+ for (Object o : selectedTransformers .toArray ())
458+ {
459+ String transformer = (String )o ;
460+ builder .append (" -transformer " + transformer );
461+ }
462+ for (Object o : librariesList .toArray ())
463+ {
464+ String library = (String )o ;
465+ builder .append (" -path " + "\" " + library + "\" " );
466+ }
467+ textPane .setText (builder .toString ());
427468
469+ JButton btnCopy = new JButton ("Copy" );
470+ btnCopy .setBounds (170 , 127 , 89 , 23 );
471+ newFrame .getContentPane ().add (btnCopy );
472+ btnCopy .addActionListener (new ActionListener ()
473+ {
474+ @ Override
475+ public void actionPerformed (ActionEvent e )
476+ {
477+ Toolkit .getDefaultToolkit ().
478+ getSystemClipboard ().setContents (new StringSelection (textPane .getText ()), null );
479+ }
480+ });
481+ newFrame .setVisible (true );
428482 }
429483 });
430484
0 commit comments