Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
OTP4U (One Time Pad For You) - OTP4UGUI.java

OTP4UGUI.java

Caricato da: Teutoburgo
Scarica il programma completo

  1. /*
  2.     OTP4U 0.9.3 - One Time Pad for you
  3.     Copyright (C) 2003 Pierre Blanc
  4.     Pierre Blanc: blanc_teutoburgo@yahoo.it
  5.     http://www.teutoburgo.tk
  6.     http://www.teutoburgo.tk/java/otp4u.html
  7.  
  8.     This program is free software; you can redistribute it and/or modify
  9.     it under the terms of the GNU General Public License as published by
  10.     the Free Software Foundation; either version 2 of the License, or
  11.     (at your option) any later version.
  12.  
  13.     This program is distributed in the hope that it will be useful,
  14.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.     GNU General Public License for more details.
  17.  
  18.     You should have received a copy of the GNU General Public License
  19.     along with this program; if not, write to the Free Software
  20.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  21.     or go to      http://www.gnu.org/copyleft/gpl.html
  22.  
  23.     gui package by Karl Dinwiddie, Takitez http://www.takitez.com
  24.  
  25.     Created on July 5, 2003, 7:17 AM
  26.  */
  27.  
  28. package tk.teutoburgo.otp4u.gui;
  29.  
  30. import java.awt.*;
  31. import java.io.*;
  32. import tk.teutoburgo.otp4u.application.OTP4U;
  33.  
  34. /**
  35.  *
  36.  * @author  Karl Dinwiddie
  37.  */
  38. public class OTP4UGUI extends javax.swing.JFrame implements Runner.RunListener, Runnable {
  39.     private File configFile;
  40.     private static final File SETTINGS_FILE = new File("otpsettings");
  41.     private Runner runner;
  42.  
  43.     private Runner getRunner() {
  44.         if (runner == null) {
  45.             runner = new Runner(this);
  46.         }
  47.         return runner;
  48.     }
  49.  
  50.     public void execute() {
  51.         synchronized(getRunner()) {
  52.             new Thread(this).start();
  53.             new Thread(getRunner()).start();
  54.         }
  55.     }
  56.  
  57.     public void run() {
  58.         synchronized(getRunner()) {
  59.             try {
  60.                 getRunner().wait();
  61.                 System.out.println("dumping..");
  62.                 msgTA.append(getRunner().otp4u.mp.flushLog());
  63.             } catch(InterruptedException ex) {
  64.             }
  65.         }
  66.     }
  67.  
  68.     private void byeBye() {
  69.         saveSettings();
  70.         System.exit(0);
  71.     }
  72.  
  73.     private final void saveSettings() {
  74.         if ((configFile != null) && configFile.exists()) try{
  75.             Util.saveStringToFile(configFile.getCanonicalPath(), SETTINGS_FILE);
  76.         } catch(IOException ex) {
  77.             handleThrowable(ex);
  78.         }
  79.     }
  80.  
  81.     private final void setConfigFile(File file) {
  82.         if (file == null) {
  83.             log("No file was selected.");
  84.             return;
  85.         }
  86.         configFile = file;
  87.         OTP4U.setConfigFile(configFile);
  88.         try {
  89.             lblConfigFile.setText(configFile.getCanonicalPath());
  90.             configTA.setText(Util.getStringFromFile(configFile));
  91.         } catch(IOException ex) {
  92.             handleThrowable(ex);
  93.         }
  94.     }
  95.  
  96.     private final void loadSettings() {
  97.         if (SETTINGS_FILE.exists()) {
  98.             try {
  99.                 FileReader fr = new FileReader(SETTINGS_FILE);
  100.                 BufferedReader br = new BufferedReader(fr);
  101.                 setConfigFile(new File(br.readLine()));
  102.                 br.close();
  103.                 fr.close();
  104.             } catch(IOException ex) {
  105.                 handleThrowable(ex);
  106.             }
  107.         } else {
  108.             File ff=new File("./config/otp4u.cfg");
  109.             System.out.println("points at "+ff);
  110.             setConfigFile(ff);
  111.         }
  112.     }
  113.  
  114.     /** Creates new form OTP4UGUI */
  115.     public OTP4UGUI() {
  116.         Util.init(getToolkit());
  117.         initComponents();
  118.         setSize(700, 600);
  119.         setLocation(Util.centerInScreen(getSize()));
  120.         loadSettings();
  121.     }
  122.  
  123.     /** This method is called from within the constructor to
  124.      * initialize the form.
  125.      * WARNING: Do NOT modify this code. The content of this method is
  126.      * always regenerated by the Form Editor.
  127.      */
  128.     private void initComponents() {//GEN-BEGIN:initComponents
  129.         jTabbedPane1 = new javax.swing.JTabbedPane();
  130.         jPanel2 = new javax.swing.JPanel();
  131.         jPanel3 = new javax.swing.JPanel();
  132.         jPanel9 = new javax.swing.JPanel();
  133.         btnSelectFile = new javax.swing.JButton();
  134.         targetFileTF = new javax.swing.JTextField();
  135.         jPanel8 = new javax.swing.JPanel();
  136.         btnEncrypt = new javax.swing.JButton();
  137.         btnDecrypt = new javax.swing.JButton();
  138.         btnClear = new javax.swing.JButton();
  139.         btnHelp = new javax.swing.JButton();
  140.         btnGuiHelp = new javax.swing.JButton();
  141.         btnExit = new javax.swing.JButton();
  142.         jPanel4 = new javax.swing.JPanel();
  143.         jScrollPane1 = new javax.swing.JScrollPane();
  144.         msgTA = new javax.swing.JTextArea();
  145.         jPanel1 = new javax.swing.JPanel();
  146.         jPanel5 = new javax.swing.JPanel();
  147.         jPanel7 = new javax.swing.JPanel();
  148.         jPanelSouth = new javax.swing.JPanel();
  149.         btnSelectConfig = new javax.swing.JButton();
  150.         btnSaveConfig = new javax.swing.JButton();
  151.         lblConfigFile = new javax.swing.JLabel();
  152.         jScrollPane2 = new javax.swing.JScrollPane();
  153.         configTA = new javax.swing.JTextArea();
  154.         jPanel6 = new javax.swing.JPanel();
  155.         jLabel2 = new javax.swing.JLabel();
  156.         jLabel3 = new javax.swing.JLabel();
  157.         jLabel4 = new javax.swing.JLabel();
  158.         jLabel5 = new javax.swing.JLabel();
  159.         jLabel6 = new javax.swing.JLabel();
  160.         jLabel7 = new javax.swing.JLabel();
  161.         btnGenerate = new javax.swing.JButton("New entropy");
  162.         btnGK4K0 = new javax.swing.JButton("K4K0");
  163.         btnRandom = new javax.swing.JButton("Random");
  164.         btnPublic = new javax.swing.JButton("Public");
  165.                 btnMix = new javax.swing.JButton("Mix");
  166.         btnSeparate = new javax.swing.JButton("Separate");
  167.         setTitle("OTP4U 0.9.3");
  168.         addWindowListener(new java.awt.event.WindowAdapter() {
  169.             public void windowClosing(java.awt.event.WindowEvent evt) {
  170.                 exitForm(evt);
  171.             }
  172.         });
  173.  
  174.         jPanel2.setLayout(new java.awt.BorderLayout());
  175.  
  176.         jPanel3.setLayout(new java.awt.GridLayout(2, 0));
  177.  
  178.         btnSelectFile.setMnemonic('f');
  179.         btnSelectFile.setText("File");
  180.         btnSelectFile.addActionListener(new java.awt.event.ActionListener() {
  181.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  182.                 btnSelectFileActionPerformed(evt);
  183.             }
  184.         });
  185.  
  186.         jPanel9.add(btnSelectFile);
  187.  
  188.         targetFileTF.setColumns(40);
  189.         targetFileTF.addActionListener(new java.awt.event.ActionListener() {
  190.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  191.                 targetFileTFActionPerformed(evt);
  192.             }
  193.         });
  194.  
  195.         jPanel9.add(targetFileTF);
  196.  
  197.         jPanel3.add(jPanel9);
  198.  
  199.                 btnMix.setMnemonic('m');
  200.         btnMix.setText("Mix");
  201.         btnMix.setToolTipText("Use mixed mode");
  202.         btnMix.addActionListener(new java.awt.event.ActionListener() {
  203.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  204.                 btnMixActionPerformed(evt);
  205.             }
  206.         });
  207.                 btnSeparate.setMnemonic('s');
  208.         btnSeparate.setText("Separate");
  209.         btnSeparate.setToolTipText("Separate key from ciphertext (mixed mode)");
  210.         btnSeparate.addActionListener(new java.awt.event.ActionListener() {
  211.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  212.                 btnSeparateActionPerformed(evt);
  213.             }
  214.         });
  215.  
  216.         btnEncrypt.setMnemonic('e');
  217.         btnEncrypt.setText("Encrypt");
  218. //        btnEncrypt.setToolTipText("Run the OTP4U program");
  219.         btnEncrypt.addActionListener(new java.awt.event.ActionListener() {
  220.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  221.                 btnEncryptActionPerformed(evt);
  222.             }
  223.         });
  224.  
  225.         jPanel8.add(btnEncrypt);
  226.  
  227.         btnDecrypt.setMnemonic('d');
  228.         btnDecrypt.setText("Decrypt");
  229.         btnDecrypt.addActionListener(new java.awt.event.ActionListener() {
  230.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  231.                 btnDecryptActionPerformed(evt);
  232.             }
  233.         });
  234.  
  235.         jPanel8.add(btnDecrypt);
  236.         jPanel8.add(btnMix);
  237.         jPanel8.add(btnSeparate);
  238.  
  239.         btnClear.setMnemonic('c');
  240.         btnClear.setText("Clear");
  241.         btnClear.setToolTipText("Clears the log below");
  242.         btnClear.addActionListener(new java.awt.event.ActionListener() {
  243.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  244.                 btnClearActionPerformed(evt);
  245.             }
  246.         });
  247.  
  248.         jPanel8.add(btnClear);
  249.  
  250.         btnHelp.setMnemonic('h');
  251.         btnHelp.setText("Help");
  252.         btnHelp.addActionListener(new java.awt.event.ActionListener() {
  253.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  254.                 btnHelpActionPerformed(evt);
  255.             }
  256.         });
  257.  
  258.         jPanel8.add(btnHelp);
  259.  
  260.         btnGuiHelp.setMnemonic('g');
  261.         btnGuiHelp.setText("Gui Help");
  262.         btnGuiHelp.addActionListener(new java.awt.event.ActionListener() {
  263.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  264.                 btnGuiHelpActionPerformed(evt);
  265.             }
  266.         });
  267.  
  268.         jPanel8.add(btnGuiHelp);
  269.  
  270.         btnExit.setMnemonic('x');
  271.         btnExit.setText("Exit");
  272.         btnExit.setToolTipText("Just like closing the window.");
  273.         btnExit.addActionListener(new java.awt.event.ActionListener() {
  274.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  275.                 btnExitActionPerformed(evt);
  276.             }
  277.         });
  278.  
  279.         jPanel8.add(btnExit);
  280.  
  281.         jPanel3.add(jPanel8);
  282.  
  283.         jPanel2.add(jPanel3, java.awt.BorderLayout.NORTH);
  284.  
  285.         jPanel4.setLayout(new java.awt.GridLayout(1, 0));
  286.  
  287.         jScrollPane1.setViewportView(msgTA);
  288.  
  289.         jPanel4.add(jScrollPane1);
  290.  
  291.         jPanel2.add(jPanel4, java.awt.BorderLayout.CENTER);
  292.  
  293.         jTabbedPane1.addTab("Console", jPanel2);
  294.  
  295.         jPanel1.setLayout(new java.awt.BorderLayout());
  296.  
  297.         jPanel5.setLayout(new java.awt.GridLayout(2, 1));
  298.  
  299.         btnSelectConfig.setText("Select Configuration");
  300.         btnSelectConfig.addActionListener(new java.awt.event.ActionListener() {
  301.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  302.                 btnSelectConfigActionPerformed(evt);
  303.             }
  304.         });
  305.  
  306.         jPanel7.add(btnSelectConfig);
  307.  
  308.         btnSaveConfig.setText("Save");
  309.         btnSaveConfig.addActionListener(new java.awt.event.ActionListener() {
  310.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  311.                 btnSaveConfigActionPerformed(evt);
  312.             }
  313.         });
  314.  
  315.         jPanel7.add(btnSaveConfig);
  316.  
  317.         jPanel5.add(jPanel7);
  318.  
  319.         lblConfigFile.setFont(new java.awt.Font("Dialog", 0, 12));
  320.         lblConfigFile.setText("No config file selected");
  321.         jPanel5.add(lblConfigFile);
  322.  
  323.         jPanel1.add(jPanel5, java.awt.BorderLayout.NORTH);
  324.  
  325.         jScrollPane2.setViewportView(configTA);
  326.  
  327.         jPanel1.add(jScrollPane2, java.awt.BorderLayout.CENTER);
  328.  
  329.         btnGenerate.setToolTipText("Generate new entropy source");
  330.         btnGenerate.addActionListener(new java.awt.event.ActionListener() {
  331.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  332.                 btnGenerateActionPerformed(evt);
  333.             }
  334.         });
  335.         btnGK4K0.setToolTipText("Generate K4K0");
  336.         btnGK4K0.addActionListener(new java.awt.event.ActionListener() {
  337.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  338.                 btnGK4K0ActionPerformed(evt);
  339.             }
  340.         });
  341.         btnPublic.setToolTipText("Generate public and private keys");
  342.         btnPublic.addActionListener(new java.awt.event.ActionListener() {
  343.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  344.                 btnPublicActionPerformed(evt);
  345.             }
  346.         });
  347.         btnRandom.setToolTipText("Get private key from public key");
  348.         btnRandom.addActionListener(new java.awt.event.ActionListener() {
  349.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  350.                 btnRandomActionPerformed(evt);
  351.             }
  352.         });
  353.  
  354.  
  355.         jPanelSouth.add(btnGK4K0);
  356.         jPanelSouth.add(btnGenerate);
  357.         jPanelSouth.add(btnPublic);
  358.         jPanelSouth.add(btnRandom);
  359.  
  360.         jPanel1.add(jPanelSouth, java.awt.BorderLayout.SOUTH);
  361.  
  362.         jTabbedPane1.addTab("Configure", jPanel1);
  363.  
  364.         jPanel6.setLayout(null);
  365.  
  366.         jLabel2.setForeground((java.awt.Color) javax.swing.UIManager.getDefaults().get("Button.darkShadow"));
  367.         jLabel2.setText("GUI by Karl Dinwiddie, Takitez.com");
  368.         jPanel6.add(jLabel2);
  369.         jLabel2.setBounds(70, 220, 240, 30);
  370.  
  371.         jLabel3.setFont(new java.awt.Font("Dialog", 1, 18));
  372.         jLabel3.setForeground(new java.awt.Color(102, 0, 51));
  373.         jLabel3.setText("    OTP4U 0.9.3 - One Time Pad for you");
  374.         jPanel6.add(jLabel3);
  375.         jLabel3.setBounds(20, 50, 490, 30);
  376.  
  377.         jLabel4.setText("Copyright (C) 2003 Pierre Blanc   ");
  378.         jPanel6.add(jLabel4);
  379.         jLabel4.setBounds(70, 90, 270, 30);
  380.  
  381.         jLabel5.setText("e-mail: blanc_teutoburgo@yahoo.it");
  382.         jPanel6.add(jLabel5);
  383.         jLabel5.setBounds(70, 120, 410, 20);
  384.  
  385.         jLabel6.setText("http://www.teutoburgo.tk");
  386.         jPanel6.add(jLabel6);
  387.         jLabel6.setBounds(70, 160, 290, 16);
  388.  
  389.         jLabel7.setText("http://www.teutoburgo.tk/java/otp4u.html");
  390.         jPanel6.add(jLabel7);
  391.         jLabel7.setBounds(70, 180, 230, 20);
  392.  
  393.         jTabbedPane1.addTab("About OTP4U", jPanel6);
  394.  
  395.         getContentPane().add(jTabbedPane1, java.awt.BorderLayout.CENTER);
  396.  
  397.         pack();
  398.     }//GEN-END:initComponents
  399.  
  400.     private void targetFileTFActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_targetFileTFActionPerformed
  401.         // Add your handling code here:
  402.     }//GEN-LAST:event_targetFileTFActionPerformed
  403.  
  404.     private void btnSelectFileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSelectFileActionPerformed
  405.         try {
  406.             targetFileTF.setText(Util.getFileFromUser("Please select file").getCanonicalPath());
  407.         } catch(IOException ex) {
  408.             handleThrowable(ex);
  409.         }
  410.     }//GEN-LAST:event_btnSelectFileActionPerformed
  411.  
  412.     private void btnDecryptActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnDecryptActionPerformed
  413.         if(!targetFileTF.getText().equals("")){
  414.           getRunner().setNextAction(Runner.DO_DECRYPT);
  415.           execute();
  416.         } else
  417.           msgTA.append("Please select a file.\n");
  418.     }//GEN-LAST:event_btnDecryptActionPerformed
  419.  
  420.     private void btnHelpActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnHelpActionPerformed
  421.         getRunner().otp4u.mp.printHelp();
  422.         msgTA.setText(getRunner().otp4u.mp.flushLog());
  423.     }//GEN-LAST:event_btnHelpActionPerformed
  424.  
  425.     private void btnGuiHelpActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGuiHelpActionPerformed
  426.         getRunner().otp4u.mp.printHelpGUI();
  427.         msgTA.setText(getRunner().otp4u.mp.flushLog());
  428.     }//GEN-LAST:event_btnGuiHelpActionPerformed
  429.  
  430.     private void btnExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnExitActionPerformed
  431.         byeBye();
  432.     }//GEN-LAST:event_btnExitActionPerformed
  433.  
  434.     private void btnClearActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnClearActionPerformed
  435.         msgTA.setText("");
  436.     }//GEN-LAST:event_btnClearActionPerformed
  437.  
  438.     private void btnSelectConfigActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSelectConfigActionPerformed
  439.         setConfigFile(Util.getFileFromUser("Please select config file"));
  440.     }//GEN-LAST:event_btnSelectConfigActionPerformed
  441.  
  442.     private void btnSaveConfigActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSaveConfigActionPerformed
  443.         if (configFile == null) {
  444.             log("Configuration file was never selected.");
  445.         } else {
  446.             try {
  447.                 Util.saveStringToFile(configTA.getText(), configFile);
  448.                 saveSettings();
  449.             } catch(IOException ex) {
  450.                 handleThrowable(ex);
  451.             }
  452.         }
  453.     }//GEN-LAST:event_btnSaveConfigActionPerformed
  454.  
  455.     private void btnEncryptActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEncryptActionPerformed
  456.         if(!targetFileTF.getText().equals("")){
  457.           getRunner().setNextAction(Runner.DO_ENCRYPT);
  458.           execute();
  459.         } else
  460.           msgTA.append("Please select a file.\n");
  461.     }//GEN-LAST:event_btnEncryptActionPerformed
  462.  
  463.     private void btnGenerateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnExitActionPerformed
  464.         getRunner().setNextAction(Runner.GENERATE);
  465.         execute();
  466.     }//GEN-LAST:event_btnExitActionPerformed
  467.     private void btnGK4K0ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnExitActionPerformed
  468.         getRunner().setNextAction(Runner.GK4K0);
  469.         execute();
  470.     }//GEN-LAST:event_btnExitActionPerformed
  471.     private void btnPublicActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnExitActionPerformed
  472.         getRunner().setNextAction(Runner.PUBLIC);
  473.         execute();
  474.     }//GEN-LAST:event_btnExitActionPerformed
  475.     private void btnRandomActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnExitActionPerformed
  476.         getRunner().setNextAction(Runner.RANDOM);
  477.         execute();
  478.     }//GEN-LAST:event_btnExitActionPerformed
  479.  
  480.     private void btnMixActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnExitActionPerformed
  481.         if(!targetFileTF.getText().equals("")){
  482.           getRunner().setNextAction(Runner.MIX);
  483.           execute();
  484.         } else
  485.           msgTA.append("Please specify the name of the ciphertext file for the mixing.\n");
  486.     }//GEN-LAST:event_btnExitActionPerformed
  487.     private void btnSeparateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnExitActionPerformed
  488.         getRunner().setNextAction(Runner.SEPARATE);
  489.         execute();
  490.     }//GEN-LAST:event_btnExitActionPerformed
  491.  
  492.     /** Exit the Application */
  493.     private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
  494.         byeBye();
  495.     }//GEN-LAST:event_exitForm
  496.  
  497.     /**
  498.      * @param args the command line arguments
  499.      */
  500.     public static void main(String args[]) {
  501.         new OTP4UGUI().show();
  502.     }
  503.  
  504.     public void log(String msg) {
  505.         msgTA.append(msg+"\n");
  506.     }
  507.  
  508.     public void handleThrowable(Throwable t) {
  509.         StringWriter sw = new StringWriter();
  510.         PrintWriter pw = new PrintWriter(sw);
  511.         t.printStackTrace(pw);
  512.         log(sw.getBuffer().toString());
  513.     }
  514.  
  515.     public File getConfigFile() {
  516.         return configFile;
  517.     }
  518.  
  519.     public File getTargetFile() {
  520.         return new File(targetFileTF.getText());
  521.     }
  522.  
  523.  
  524.     // Variables declaration - do not modify//GEN-BEGIN:variables
  525.     private javax.swing.JLabel jLabel4;
  526.     private javax.swing.JLabel lblConfigFile;
  527.     private javax.swing.JButton btnExit;
  528.     private javax.swing.JButton btnSelectFile;
  529.     private javax.swing.JButton btnDecrypt;
  530.     private javax.swing.JScrollPane jScrollPane1;
  531.     private javax.swing.JPanel jPanel4;
  532.     private javax.swing.JButton btnEncrypt;
  533.     private javax.swing.JLabel jLabel3;
  534.     private javax.swing.JButton btnClear;
  535.     private javax.swing.JPanel jPanel3;
  536.     private javax.swing.JLabel jLabel2;
  537.     private javax.swing.JButton btnGuiHelp;
  538.     private javax.swing.JButton btnSelectConfig;
  539.     private javax.swing.JPanel jPanel2;
  540.     private javax.swing.JPanel jPanel5;
  541.     private javax.swing.JScrollPane jScrollPane2;
  542.     private javax.swing.JPanel jPanel8;
  543.     private javax.swing.JTextArea msgTA;
  544.     private javax.swing.JLabel jLabel7;
  545.     private javax.swing.JPanel jPanel7;
  546.     private javax.swing.JPanel jPanel1;
  547.     private javax.swing.JPanel jPanel6;
  548.     private javax.swing.JButton btnSaveConfig;
  549.     private javax.swing.JLabel jLabel6;
  550.     private javax.swing.JTextArea configTA;
  551.     private javax.swing.JPanel jPanel9;
  552.     private javax.swing.JTabbedPane jTabbedPane1;
  553.     private javax.swing.JLabel jLabel5;
  554.     private javax.swing.JButton btnHelp;
  555.     private javax.swing.JTextField targetFileTF;
  556.     // End of variables declaration//GEN-END:variables
  557.     private javax.swing.JButton btnGenerate, btnGK4K0;
  558.     private javax.swing.JButton btnRandom, btnPublic, btnMix, btnSeparate;
  559.     private javax.swing.JPanel jPanelSouth;
  560. }