Example usage for javax.swing UIManager put

List of usage examples for javax.swing UIManager put

Introduction

In this page you can find the example usage for javax.swing UIManager put.

Prototype

public static Object put(Object key, Object value) 

Source Link

Document

Stores an object in the developer defaults.

Usage

From source file:net.sf.nmedit.nomad.core.NomadLoader.java

private void initLookAndFeel(String lafClassName, String themeClassName, String defaultLafOnPlatform) {
    EnumSet<Platform.OS> defaultLafPlatforms = EnumSet.noneOf(Platform.OS.class);
    {/*from   w w w  .j a  va 2  s  .com*/
        // remove whitespace + lowercase
        defaultLafOnPlatform = defaultLafOnPlatform.replaceAll("\\s", "").toLowerCase();
        // split comma separated list
        String[] dlop = defaultLafOnPlatform.split(",");
        // check items
        for (String s : dlop) {
            if (s.equals("all")) {
                // on all platforms
                defaultLafPlatforms.addAll(EnumSet.allOf(Platform.OS.class));
                break;
            } else if (s.equals("mac")) {
                defaultLafPlatforms.add(Platform.OS.MacOSFlavor);
            } else if (s.equals("unix")) {
                defaultLafPlatforms.add(Platform.OS.UnixFlavor);
            } else if (s.equals("windows")) {
                defaultLafPlatforms.add(Platform.OS.WindowsFlavor);
            }
        }
    }

    // jgoodies specific properties

    PlasticLookAndFeel.setTabStyle(PlasticLookAndFeel.TAB_STYLE_METAL_VALUE);
    //UIManager.put(Options.POPUP_DROP_SHADOW_ENABLED_KEY, Boolean.FALSE);
    Options.setPopupDropShadowEnabled(false);
    Options.setUseNarrowButtons(true);

    //UIManager.put(Options.PLASTIC_MENU_FONT_KEY, new FontUIResource("Verdana", Font.PLAIN, 9));
    //PlasticLookAndFeel.setFontPolicy(FontPolicies.getDefaultWindowsPolicy());
    /*
            UIManager.put("MenuItem.margin", new InsetsUIResource(2,2,1,2));
            UIManager.put("Menu.margin", new InsetsUIResource(1,2,1,2));
            */
    // set the metal theme

    if (defaultLafPlatforms.contains(Platform.flavor())) {
        // use default LAF on current platform

        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Throwable e) {
            Log log = LogFactory.getLog(getClass());
            log.warn("could not set look and feel theme", e);

        }

        if (Platform.isFlavor(Platform.OS.MacOSFlavor)) {
            System.setProperty("apple.laf.useScreenMenuBar", "true");
        }

    } else {
        // use LAF setting

        MetalTheme theme = null;
        if (themeClassName != null) {
            try {
                theme = (MetalTheme) Class.forName(themeClassName).newInstance();
                UIManager.put("Plastic.theme", themeClassName);

                if (theme instanceof PlasticTheme) {
                    PlasticLookAndFeel.setPlasticTheme((PlasticTheme) theme);
                    // PlasticLookAndFeel.setTabStyle(settings.getPlasticTabStyle());
                } else if (theme instanceof MetalTheme) {
                    MetalLookAndFeel.setCurrentTheme(theme);
                }

            } catch (Throwable e) {
                Log log = LogFactory.getLog(getClass());
                log.warn("could not set look and feel theme", e);
            }
        }
        // set the look and feel
        if (lafClassName != null) {
            try {
                LookAndFeel LAF = (LookAndFeel) Class.forName(lafClassName).newInstance();
                // it is very important to set the classloader  
                UIManager.getDefaults().put("ClassLoader", getClass().getClassLoader());
                UIManager.setLookAndFeel(LAF);
            } catch (Throwable e) {
                Log log = LogFactory.getLog(getClass());
                log.warn("could not set custom look and feel", e);
            }
        }
    }

}

From source file:it.ldp.pingscheduler.PingSchedulerGUI.java

/**
 * @param args//  ww w  . j a v a 2  s.  c o  m
 *            the command line arguments
 */
public static void main(String args[]) {
    /* Set the Nimbus look and feel */
    // <editor-fold defaultstate="collapsed" desc=" Look and feel setting
    // code (optional) ">
    /*
     * If Nimbus (introduced in Java SE 6) is not available, stay with the
     * default look and feel. For details see
     * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.
     * html
     */
    try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                javax.swing.UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(PingSchedulerGUI.class.getName()).log(java.util.logging.Level.SEVERE,
                null, ex);
    } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(PingSchedulerGUI.class.getName()).log(java.util.logging.Level.SEVERE,
                null, ex);
    } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(PingSchedulerGUI.class.getName()).log(java.util.logging.Level.SEVERE,
                null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(PingSchedulerGUI.class.getName()).log(java.util.logging.Level.SEVERE,
                null, ex);
    }
    // </editor-fold>
    // </editor-fold>
    // </editor-fold>
    // </editor-fold>
    // </editor-fold>
    // </editor-fold>
    // </editor-fold>
    // </editor-fold>

    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new PingSchedulerGUI().setVisible(true);
            JFrame.setDefaultLookAndFeelDecorated(true);
            UIManager.put("JFrame.activeTitleBackground", Color.red);

        }
    });
}

From source file:gov.nih.nci.nbia.StandaloneDMV3.java

public static void setDefaultSize(int size) {
    Set<Object> keySet = UIManager.getLookAndFeelDefaults().keySet();
    Object[] keys = keySet.toArray(new Object[keySet.size()]);

    for (Object key : keys) {
        if (key != null && key.toString().toLowerCase().contains("font")) {
            Font font = UIManager.getDefaults().getFont(key);
            if (font != null) {
                font = font.deriveFont((float) size);
                UIManager.put(key, font);
            }/*from www.  ja v a2s.c om*/
        }
    }
}

From source file:com.xmage.launcher.XMageLauncher.java

private void localize() {
    UIManager.put("OptionPane.yesButtonText", messages.getString("yes"));
    UIManager.put("OptionPane.noButtonText", messages.getString("no"));
}

From source file:eu.cassandra.training.gui.MainGUI.java

/**
 * Constructor of the Training Module GUI.
 * /*  www . j  a v a 2s. c o  m*/
 * @throws UnsupportedLookAndFeelException
 * @throws IllegalAccessException
 * @throws InstantiationException
 * @throws ClassNotFoundException
 * @throws FileNotFoundException
 */
public MainGUI() throws ClassNotFoundException, InstantiationException, IllegalAccessException,
        UnsupportedLookAndFeelException, FileNotFoundException {
    setForeground(new Color(0, 204, 51));

    // Enable the closing of the frame when pressing the x on the upper corner
    // of the window
    addWindowListener(new WindowAdapter() {
        @Override
        public void windowClosing(WindowEvent e) {
            Utils.cleanFiles();
            System.exit(0);
        }
    });

    // Cleaning temporary files from the temp folder when starting the GUI.
    // Utils.cleanFiles();

    // Change the platforms look and feel to Nimbus
    LookAndFeel lnf = new javax.swing.plaf.nimbus.NimbusLookAndFeel();
    UIManager.put("NimbusLookAndFeel", Color.GREEN);
    UIManager.setLookAndFeel(lnf);

    // Setting the basic attributes of the Training Module GUI
    setTitle("Training Module (BETA)");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 1228, 799);

    // Creating the menu bar and adding the menu items
    JMenuBar menuBar = new JMenuBar();
    setJMenuBar(menuBar);

    JMenu mnNewMenu = new JMenu("File");
    menuBar.add(mnNewMenu);

    JMenuItem mntmExit = new JMenuItem("Exit");
    mntmExit.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            Utils.cleanFiles();
            System.exit(0);
        }
    });
    mnNewMenu.add(mntmExit);

    JMenu mnExit = new JMenu("Help");
    menuBar.add(mnExit);

    JMenuItem mntmManual = new JMenuItem("Manual");
    mnExit.add(mntmManual);

    JMenuItem mntmAbout = new JMenuItem("About");
    mnExit.add(mntmAbout);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);

    // Adding the tabbed pane to the content pane
    final JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
    GroupLayout gl_contentPane = new GroupLayout(contentPane);
    gl_contentPane.setHorizontalGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
            .addComponent(tabbedPane, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 1202, Short.MAX_VALUE));
    gl_contentPane.setVerticalGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
            .addGroup(gl_contentPane.createSequentialGroup()
                    .addComponent(tabbedPane, GroupLayout.PREFERRED_SIZE, 736, GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(47, Short.MAX_VALUE)));

    // TABS //

    final JPanel importTab = new JPanel();
    tabbedPane.addTab("Import Data", null, importTab, null);
    tabbedPane.setDisplayedMnemonicIndexAt(0, 0);
    tabbedPane.setEnabledAt(0, true);
    importTab.setLayout(null);

    final JPanel trainingTab = new JPanel();
    tabbedPane.addTab("Train Activity Models", null, trainingTab, null);
    tabbedPane.setDisplayedMnemonicIndexAt(1, 1);
    tabbedPane.setEnabledAt(1, false);
    trainingTab.setLayout(null);

    final JPanel createResponseTab = new JPanel();

    tabbedPane.addTab("Create Response Models", null, createResponseTab, null);
    tabbedPane.setEnabledAt(2, false);
    createResponseTab.setLayout(null);

    // RESPONSE MODEL TAB //

    final JPanel responseParametersPanel = new JPanel();
    responseParametersPanel.setLayout(null);
    responseParametersPanel.setBorder(
            new TitledBorder(null, "Response Parameters", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    responseParametersPanel.setBounds(6, 6, 394, 271);
    createResponseTab.add(responseParametersPanel);

    final JPanel activityModelSelectionPanel = new JPanel();
    activityModelSelectionPanel.setLayout(null);
    activityModelSelectionPanel.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"),
            "Activity Model Selection", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    activityModelSelectionPanel.setBounds(6, 516, 394, 192);
    createResponseTab.add(activityModelSelectionPanel);

    final JPanel responsePanel = new JPanel();
    responsePanel.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"),
            "Activity Model Change Preview", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    responsePanel.setBounds(417, 6, 770, 385);
    createResponseTab.add(responsePanel);
    responsePanel.setLayout(new BorderLayout(0, 0));

    final JPanel pricingPreviewPanel = new JPanel();
    pricingPreviewPanel.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"),
            "Pricing Scheme Preview", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    pricingPreviewPanel.setBounds(417, 438, 770, 259);
    createResponseTab.add(pricingPreviewPanel);
    pricingPreviewPanel.setLayout(new BorderLayout(0, 0));

    final JPanel pricingSchemePanel = new JPanel();
    pricingSchemePanel.setLayout(null);
    pricingSchemePanel.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"),
            "Pricing Scheme Selection", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    pricingSchemePanel.setBounds(6, 274, 394, 243);
    createResponseTab.add(pricingSchemePanel);

    // /////////////////
    // RESPONSE TAB //
    // ////////////////

    // RESPONSE PARAMETERS //

    final JLabel lblSensitivity = new JLabel("Sensitivity");
    lblSensitivity.setBounds(10, 28, 78, 16);
    responseParametersPanel.add(lblSensitivity);

    final JSlider sensitivitySlider = new JSlider();
    sensitivitySlider.setPaintLabels(true);
    sensitivitySlider.setSnapToTicks(true);
    sensitivitySlider.setPaintTicks(true);
    sensitivitySlider.setMinorTickSpacing(10);
    sensitivitySlider.setMajorTickSpacing(10);
    sensitivitySlider.setBounds(111, 28, 214, 45);
    responseParametersPanel.add(sensitivitySlider);

    final JLabel lblAwareness = new JLabel("Awareness");
    lblAwareness.setBounds(10, 79, 78, 16);
    responseParametersPanel.add(lblAwareness);

    final JSlider awarenessSlider = new JSlider();
    awarenessSlider.setPaintLabels(true);
    awarenessSlider.setPaintTicks(true);
    awarenessSlider.setMajorTickSpacing(10);
    awarenessSlider.setMinorTickSpacing(10);
    awarenessSlider.setSnapToTicks(true);
    awarenessSlider.setBounds(111, 79, 214, 45);
    responseParametersPanel.add(awarenessSlider);

    final JLabel label_7 = new JLabel("Response Model");
    label_7.setBounds(10, 153, 103, 16);
    responseParametersPanel.add(label_7);

    final JRadioButton optimalCaseRadioButton = new JRadioButton("Optimal Case Scenario");
    responseModelButtonGroup.add(optimalCaseRadioButton);
    optimalCaseRadioButton.setBounds(111, 131, 170, 18);
    responseParametersPanel.add(optimalCaseRadioButton);

    final JRadioButton normalCaseRadioButton = new JRadioButton("Normal Case Scenario");
    normalCaseRadioButton.setSelected(true);
    responseModelButtonGroup.add(normalCaseRadioButton);
    normalCaseRadioButton.setBounds(111, 152, 170, 18);
    responseParametersPanel.add(normalCaseRadioButton);

    final JRadioButton discreteCaseRadioButton = new JRadioButton("Discrete Case Scenario");
    discreteCaseRadioButton.setSelected(true);
    responseModelButtonGroup.add(discreteCaseRadioButton);
    discreteCaseRadioButton.setBounds(111, 173, 170, 18);
    responseParametersPanel.add(discreteCaseRadioButton);

    final JButton previewResponseButton = new JButton("Preview Response Model");
    previewResponseButton.setEnabled(false);
    previewResponseButton.setBounds(24, 198, 157, 28);
    responseParametersPanel.add(previewResponseButton);

    final JButton createResponseButton = new JButton("Create Response Model");
    createResponseButton.setEnabled(false);
    createResponseButton.setBounds(191, 198, 162, 28);
    responseParametersPanel.add(createResponseButton);

    final JButton createResponseAllButton = new JButton("Create Response All");
    createResponseAllButton.setEnabled(false);
    createResponseAllButton.setBounds(111, 232, 157, 28);
    responseParametersPanel.add(createResponseAllButton);

    // SELECT ACTIVITY MODEL //

    final JLabel lblSelectedActivity = new JLabel("Selected Activity");
    lblSelectedActivity.setBounds(10, 21, 130, 16);
    activityModelSelectionPanel.add(lblSelectedActivity);

    JScrollPane activityListScrollPane = new JScrollPane();
    activityListScrollPane.setBounds(20, 39, 355, 143);
    activityModelSelectionPanel.add(activityListScrollPane);

    final JList<String> activitySelectList = new JList<String>();
    activityListScrollPane.setViewportView(activitySelectList);
    activitySelectList.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));

    final JButton commitButton = new JButton("Commit");
    commitButton.setEnabled(false);
    commitButton.setBounds(151, 209, 89, 23);
    pricingSchemePanel.add(commitButton);

    JLabel lblBasicSchema = new JLabel("Basic Schema (Start-End-Value)");
    lblBasicSchema.setBounds(10, 18, 182, 14);
    pricingSchemePanel.add(lblBasicSchema);

    JLabel lblNewSchemastart = new JLabel("New Schema (Start-End-Value)");
    lblNewSchemastart.setBounds(197, 18, 177, 14);
    pricingSchemePanel.add(lblNewSchemastart);

    JScrollPane basicPricingSchemeScrollPane = new JScrollPane();
    basicPricingSchemeScrollPane.setBounds(10, 43, 177, 161);
    pricingSchemePanel.add(basicPricingSchemeScrollPane);

    final JTextPane basicPricingSchemePane = new JTextPane();
    basicPricingSchemeScrollPane.setViewportView(basicPricingSchemePane);
    basicPricingSchemePane.setText("00:00-23:59-0.05");

    JScrollPane newPricingScrollPane = new JScrollPane();
    newPricingScrollPane.setBounds(197, 43, 177, 161);
    pricingSchemePanel.add(newPricingScrollPane);

    final JTextPane newPricingSchemePane = new JTextPane();

    newPricingScrollPane.setViewportView(newPricingSchemePane);

    JPanel buttonPanel = new JPanel();
    buttonPanel.setBounds(682, 390, 265, 33);
    createResponseTab.add(buttonPanel);

    final JButton dailyResponseButton = new JButton("Daily Times");
    dailyResponseButton.setEnabled(false);
    buttonPanel.add(dailyResponseButton);

    final JButton startResponseButton = new JButton("Start Time");

    startResponseButton.setEnabled(false);
    buttonPanel.add(startResponseButton);

    final JPanel exportTab = new JPanel();
    tabbedPane.addTab("Export Models", null, exportTab, null);
    tabbedPane.setEnabledAt(3, false);
    exportTab.setLayout(null);

    // PANELS //

    // DATA IMPORT TAB //

    final JPanel dataFilePanel = new JPanel();
    dataFilePanel
            .setBorder(new TitledBorder(null, "Data File", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    dataFilePanel.setBounds(6, 6, 622, 284);
    importTab.add(dataFilePanel);
    dataFilePanel.setLayout(null);

    final JPanel disaggregationPanel = new JPanel();
    disaggregationPanel.setLayout(null);
    disaggregationPanel.setBorder(
            new TitledBorder(null, "Disaggregation", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    disaggregationPanel.setBounds(629, 6, 567, 284);
    importTab.add(disaggregationPanel);

    final JPanel dataReviewPanel = new JPanel();
    dataReviewPanel.setBorder(
            new TitledBorder(null, "Data Preview", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    dataReviewPanel.setBounds(6, 293, 622, 407);
    importTab.add(dataReviewPanel);
    dataReviewPanel.setLayout(new BorderLayout(0, 0));

    final JPanel consumptionModelPanel = new JPanel();
    consumptionModelPanel.setBounds(629, 293, 567, 407);
    importTab.add(consumptionModelPanel);
    consumptionModelPanel.setBorder(
            new TitledBorder(null, "Consumption Model", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    consumptionModelPanel.setLayout(new BorderLayout(0, 0));

    // TRAINING ACTIVITY TAB //

    final JPanel trainingParametersPanel = new JPanel();
    trainingParametersPanel.setLayout(null);
    trainingParametersPanel.setBorder(
            new TitledBorder(null, "Training Parameters", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    trainingParametersPanel.setBounds(6, 6, 621, 256);
    trainingTab.add(trainingParametersPanel);

    final JPanel applianceSelectionPanel = new JPanel();
    applianceSelectionPanel.setLayout(null);
    applianceSelectionPanel.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"),
            "Appliance/Activity Selection", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    applianceSelectionPanel.setBounds(630, 6, 557, 256);
    trainingTab.add(applianceSelectionPanel);

    final JPanel expectedPowerPanel = new JPanel();
    expectedPowerPanel.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"),
            "Expected Power Preview", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    expectedPowerPanel.setBounds(630, 261, 557, 447);
    trainingTab.add(expectedPowerPanel);
    expectedPowerPanel.setLayout(new BorderLayout(0, 0));
    contentPane.setLayout(gl_contentPane);

    // EXPORT TAB //

    JPanel modelExportPanel = new JPanel();
    modelExportPanel.setLayout(null);
    modelExportPanel.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"),
            "Model Export Selection", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    modelExportPanel.setBounds(10, 11, 596, 267);
    exportTab.add(modelExportPanel);

    final JPanel exportPreviewPanel = new JPanel();
    exportPreviewPanel.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"),
            "Export Model Preview", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    exportPreviewPanel.setBounds(10, 310, 1187, 387);
    exportTab.add(exportPreviewPanel);
    exportPreviewPanel.setLayout(new BorderLayout(0, 0));

    JPanel exportButtonsPanel = new JPanel();
    exportButtonsPanel.setBounds(322, 279, 536, 33);
    exportTab.add(exportButtonsPanel);

    JPanel connectionPanel = new JPanel();
    connectionPanel.setLayout(null);
    connectionPanel.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"),
            "Connection Properties", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    connectionPanel.setBounds(606, 11, 581, 267);
    exportTab.add(connectionPanel);

    // COMPONENTS //

    // IMPORT TAB //

    // DATA IMPORT //

    final JLabel lblSource = new JLabel("Data Source:");
    lblSource.setBounds(23, 47, 71, 16);
    dataFilePanel.add(lblSource);

    final JTextField pathField = new JTextField();
    pathField.setEditable(false);
    pathField.setBounds(99, 41, 405, 28);
    dataFilePanel.add(pathField);
    pathField.setColumns(10);

    final JButton dataBrowseButton = new JButton("Browse");
    dataBrowseButton.setBounds(516, 41, 87, 28);
    dataFilePanel.add(dataBrowseButton);

    final JButton resetButton = new JButton("Reset");
    resetButton.setBounds(516, 81, 87, 28);
    dataFilePanel.add(resetButton);

    final JLabel lblDataMeasurementsFrom = new JLabel("Data Measurements From:");
    lblDataMeasurementsFrom.setBounds(23, 90, 154, 16);
    dataFilePanel.add(lblDataMeasurementsFrom);

    final JRadioButton singleApplianceRadioButton = new JRadioButton("Single Appliance");
    singleApplianceRadioButton.setEnabled(false);
    dataMeasurementsButtonGroup.add(singleApplianceRadioButton);
    singleApplianceRadioButton.setBounds(242, 110, 115, 18);
    dataFilePanel.add(singleApplianceRadioButton);

    final JRadioButton installationRadioButton = new JRadioButton("Installation");
    installationRadioButton.setSelected(true);
    installationRadioButton.setEnabled(false);
    dataMeasurementsButtonGroup.add(installationRadioButton);
    installationRadioButton.setBounds(242, 89, 115, 18);
    dataFilePanel.add(installationRadioButton);

    final JLabel labelConsumptionModel = new JLabel("Consumption Model:");
    labelConsumptionModel.setBounds(23, 179, 120, 16);
    dataFilePanel.add(labelConsumptionModel);

    final JButton importDataButton = new JButton("Import Data");
    importDataButton.setEnabled(false);
    importDataButton.setBounds(23, 237, 126, 28);
    dataFilePanel.add(importDataButton);

    final JButton disaggregateButton = new JButton("Disaggregate");
    disaggregateButton.setEnabled(false);
    disaggregateButton.setBounds(216, 237, 147, 28);
    dataFilePanel.add(disaggregateButton);

    final JButton createEventsButton = new JButton("Create Events Dataset");
    createEventsButton.setEnabled(false);
    createEventsButton.setBounds(422, 237, 181, 28);
    dataFilePanel.add(createEventsButton);

    final JTextField consumptionPathField = new JTextField();
    consumptionPathField.setEnabled(false);
    consumptionPathField.setEditable(false);
    consumptionPathField.setColumns(10);
    consumptionPathField.setBounds(99, 197, 405, 28);
    dataFilePanel.add(consumptionPathField);

    final JButton consumptionBrowseButton = new JButton("Browse");
    consumptionBrowseButton.setEnabled(false);
    consumptionBrowseButton.setBounds(516, 197, 87, 28);
    dataFilePanel.add(consumptionBrowseButton);

    JLabel lblTypeOfMeasurements = new JLabel("Type of Measurements");
    lblTypeOfMeasurements.setBounds(23, 141, 154, 16);
    dataFilePanel.add(lblTypeOfMeasurements);

    final JRadioButton activePowerRadioButton = new JRadioButton("Active Power (P)");
    powerButtonGroup.add(activePowerRadioButton);
    activePowerRadioButton.setEnabled(false);
    activePowerRadioButton.setBounds(242, 140, 115, 18);
    dataFilePanel.add(activePowerRadioButton);

    final JRadioButton activeAndReactivePowerRadioButton = new JRadioButton("Active and Reactive Power (P, Q)");
    activeAndReactivePowerRadioButton.setSelected(true);
    powerButtonGroup.add(activeAndReactivePowerRadioButton);
    activeAndReactivePowerRadioButton.setEnabled(false);
    activeAndReactivePowerRadioButton.setBounds(242, 161, 262, 18);
    dataFilePanel.add(activeAndReactivePowerRadioButton);

    // //////////////////
    // DISAGGREGATION //
    // /////////////////

    final JLabel lblAppliancesDetected = new JLabel("Detected Appliances ");
    lblAppliancesDetected.setBounds(18, 33, 130, 16);
    disaggregationPanel.add(lblAppliancesDetected);

    JScrollPane scrollPane_2 = new JScrollPane();
    scrollPane_2.setBounds(145, 31, 396, 231);
    disaggregationPanel.add(scrollPane_2);

    final JList<String> detectedApplianceList = new JList<String>();
    scrollPane_2.setViewportView(detectedApplianceList);
    detectedApplianceList.setEnabled(false);
    detectedApplianceList.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));

    // ////////////////
    // TRAINING TAB //
    // ////////////////

    // TRAINING PARAMETERS //

    final JLabel label_1 = new JLabel("Times Per Day");
    label_1.setBounds(19, 40, 103, 16);
    trainingParametersPanel.add(label_1);

    final JRadioButton timesHistogramRadioButton = new JRadioButton("Histogram");
    timesHistogramRadioButton.setSelected(true);
    timesDailyButtonGroup.add(timesHistogramRadioButton);
    timesHistogramRadioButton.setBounds(160, 38, 87, 18);
    trainingParametersPanel.add(timesHistogramRadioButton);

    final JRadioButton timesNormalRadioButton = new JRadioButton("Normal Distribution");
    timesNormalRadioButton.setEnabled(false);
    timesDailyButtonGroup.add(timesNormalRadioButton);
    timesNormalRadioButton.setBounds(304, 40, 137, 18);
    trainingParametersPanel.add(timesNormalRadioButton);

    JRadioButton timesGaussianRadioButton = new JRadioButton("Gaussian Mixture");
    timesGaussianRadioButton.setEnabled(false);
    timesDailyButtonGroup.add(timesGaussianRadioButton);
    timesGaussianRadioButton.setBounds(478, 38, 137, 18);
    trainingParametersPanel.add(timesGaussianRadioButton);

    final JLabel label_2 = new JLabel("Start Time");
    label_2.setBounds(19, 133, 103, 16);
    trainingParametersPanel.add(label_2);

    final JRadioButton startHistogramRadioButton = new JRadioButton("Histogram");
    startHistogramRadioButton.setSelected(true);
    startTimeButtonGroup.add(startHistogramRadioButton);
    startHistogramRadioButton.setBounds(160, 131, 87, 18);
    trainingParametersPanel.add(startHistogramRadioButton);

    final JRadioButton startNormalRadioButton = new JRadioButton("Normal Distribution");
    // startNormalRadioButton.setEnabled(false);
    startTimeButtonGroup.add(startNormalRadioButton);
    startNormalRadioButton.setBounds(304, 133, 137, 18);
    trainingParametersPanel.add(startNormalRadioButton);

    final JRadioButton startGaussianRadioButton = new JRadioButton("Gaussian Mixture");
    startGaussianRadioButton.setSelected(true);
    startTimeButtonGroup.add(startGaussianRadioButton);
    startGaussianRadioButton.setBounds(478, 131, 137, 18);
    trainingParametersPanel.add(startGaussianRadioButton);

    final JLabel label_3 = new JLabel("Duration");
    label_3.setBounds(19, 86, 103, 16);
    trainingParametersPanel.add(label_3);

    final JRadioButton durationHistogramRadioButton = new JRadioButton("Histogram");
    durationHistogramRadioButton.setSelected(true);
    durationButtonGroup.add(durationHistogramRadioButton);
    durationHistogramRadioButton.setBounds(160, 84, 87, 18);
    trainingParametersPanel.add(durationHistogramRadioButton);

    final JRadioButton durationNormalRadioButton = new JRadioButton("Normal Distribution");
    durationNormalRadioButton.setSelected(true);
    durationButtonGroup.add(durationNormalRadioButton);
    durationNormalRadioButton.setBounds(304, 86, 137, 18);
    trainingParametersPanel.add(durationNormalRadioButton);

    final JRadioButton durationGaussianRadioButton = new JRadioButton("Gaussian Mixture");
    durationButtonGroup.add(durationGaussianRadioButton);
    durationGaussianRadioButton.setBounds(478, 84, 137, 18);
    trainingParametersPanel.add(durationGaussianRadioButton);

    final JButton trainingButton = new JButton("Train");
    trainingButton.setBounds(125, 194, 115, 28);
    trainingParametersPanel.add(trainingButton);

    final JButton trainAllButton = new JButton("Train All");
    trainAllButton.setBounds(366, 194, 115, 28);
    trainingParametersPanel.add(trainAllButton);

    // APPLIANCE SELECTION //

    final JLabel label_4 = new JLabel("Selected Appliance");
    label_4.setBounds(18, 33, 130, 16);
    applianceSelectionPanel.add(label_4);

    JScrollPane scrollPane_1 = new JScrollPane();
    scrollPane_1.setBounds(128, 29, 419, 216);
    applianceSelectionPanel.add(scrollPane_1);

    final JList<String> selectedApplianceList = new JList<String>();
    scrollPane_1.setViewportView(selectedApplianceList);
    selectedApplianceList.setEnabled(false);
    selectedApplianceList.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));

    // DISTRIBUTION SELECTION //

    JPanel distributionSelectionPanel = new JPanel();
    distributionSelectionPanel.setBounds(80, 261, 482, 33);
    trainingTab.add(distributionSelectionPanel);

    final JButton dailyTimesButton = new JButton("Daily Times");
    dailyTimesButton.setEnabled(false);
    distributionSelectionPanel.add(dailyTimesButton);

    final JButton durationButton = new JButton("Duration");
    durationButton.setEnabled(false);
    distributionSelectionPanel.add(durationButton);

    final JButton startTimeButton = new JButton("Start Time");
    startTimeButton.setEnabled(false);
    distributionSelectionPanel.add(startTimeButton);

    final JButton startTimeBinnedButton = new JButton("Start Time Binned");
    startTimeBinnedButton.setEnabled(false);
    distributionSelectionPanel.add(startTimeBinnedButton);

    final JPanel distributionPreviewPanel = new JPanel();
    distributionPreviewPanel.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"),
            "Distribution Preview", TitledBorder.LEADING, TitledBorder.TOP, null, null));
    distributionPreviewPanel.setBounds(6, 299, 621, 409);
    trainingTab.add(distributionPreviewPanel);
    distributionPreviewPanel.setLayout(new BorderLayout(0, 0));

    // //////////////////
    // EXPORT TAB ///////
    // /////////////////

    JLabel exportModelLabel = new JLabel("Select Model");
    exportModelLabel.setBounds(10, 34, 151, 16);
    modelExportPanel.add(exportModelLabel);

    JScrollPane scrollPane = new JScrollPane();
    scrollPane.setBounds(83, 32, 503, 212);
    modelExportPanel.add(scrollPane);

    final JList<String> exportModelList = new JList<String>();
    scrollPane.setViewportView(exportModelList);
    exportModelList.setEnabled(false);
    exportModelList.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));

    // EXPORT TAB //

    final JButton exportDailyButton = new JButton("Daily Times");
    exportDailyButton.setEnabled(false);
    exportButtonsPanel.add(exportDailyButton);

    final JButton exportDurationButton = new JButton("Duration");
    exportDurationButton.setEnabled(false);
    exportButtonsPanel.add(exportDurationButton);

    final JButton exportStartButton = new JButton("Start Time");
    exportStartButton.setEnabled(false);
    exportButtonsPanel.add(exportStartButton);

    final JButton exportStartBinnedButton = new JButton("Start Time Binned");
    exportStartBinnedButton.setEnabled(false);
    exportButtonsPanel.add(exportStartBinnedButton);

    final JButton exportExpectedPowerButton = new JButton("Expected Power");
    exportExpectedPowerButton.setEnabled(false);
    exportButtonsPanel.add(exportExpectedPowerButton);

    JLabel usernameLabel = new JLabel("Username:");
    usernameLabel.setBounds(46, 27, 71, 16);
    connectionPanel.add(usernameLabel);

    final JTextField usernameTextField;
    usernameTextField = new JTextField();
    usernameTextField.setText("user");
    usernameTextField.setColumns(10);
    usernameTextField.setBounds(122, 21, 405, 28);
    connectionPanel.add(usernameTextField);

    final JButton exportButton = new JButton("Export Entity");
    exportButton.setEnabled(false);
    exportButton.setBounds(46, 178, 147, 28);
    connectionPanel.add(exportButton);

    final JButton exportAllBaseButton = new JButton("Export All Base");
    exportAllBaseButton.setEnabled(false);
    exportAllBaseButton.setBounds(203, 178, 177, 28);
    connectionPanel.add(exportAllBaseButton);

    final JButton exportAllResponseButton = new JButton("Export All Response");
    exportAllResponseButton.setEnabled(false);
    exportAllResponseButton.setBounds(390, 178, 181, 28);
    connectionPanel.add(exportAllResponseButton);

    JLabel passwordLabel = new JLabel("Password:");
    passwordLabel.setBounds(46, 62, 71, 16);
    connectionPanel.add(passwordLabel);

    JLabel UrlLabel = new JLabel("URL:");
    UrlLabel.setBounds(46, 105, 71, 16);
    connectionPanel.add(UrlLabel);

    final JTextField urlTextField;
    urlTextField = new JTextField();
    urlTextField.setText("https://160.40.50.233:8443/cassandra/api");
    urlTextField.setColumns(10);
    urlTextField.setBounds(122, 99, 405, 28);
    connectionPanel.add(urlTextField);

    final JButton connectButton = new JButton("Connect");
    connectButton.setEnabled(false);
    connectButton.setBounds(217, 138, 147, 28);
    connectionPanel.add(connectButton);

    final JPasswordField passwordField;
    passwordField = new JPasswordField();
    passwordField.setBounds(122, 60, 405, 28);
    connectionPanel.add(passwordField);

    final JTextField householdNameTextField;
    householdNameTextField = new JTextField();
    householdNameTextField.setEnabled(false);
    householdNameTextField.setBounds(166, 225, 405, 31);
    connectionPanel.add(householdNameTextField);
    householdNameTextField.setColumns(10);

    final JLabel householdNameLabel = new JLabel("Export Household Name:");
    householdNameLabel.setBounds(24, 233, 147, 14);
    connectionPanel.add(householdNameLabel);

    JButton btnOpenPlatform = new JButton("Open Platform");
    btnOpenPlatform.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            try {
                Desktop.getDesktop()
                        .browse(new URL("https://cassandra.iti.gr:8443/cassandra/app.html").toURI());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
    btnOpenPlatform.setBounds(401, 138, 147, 28);
    connectionPanel.add(btnOpenPlatform);

    // //////////////////
    // ACTIONS ///////
    // /////////////////

    // IMPORT TAB //

    // DATA IMPORT ////

    dataBrowseButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the browse button to
         * input the data file on the Data File panel of the Import Data tab.
         * 
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            // Opens the browse panel to find the data set file
            JFileChooser fc = new JFileChooser("./");

            // Adds a filter to the type of files acceptable for selection
            fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
            fc.setFileFilter(new MyFilter2());

            int returnVal = fc.showOpenDialog(contentPane);

            // After choosing the file some of the options in the Data File panel
            // are unlocked
            if (returnVal == JFileChooser.APPROVE_OPTION) {
                File file = fc.getSelectedFile();

                pathField.setText(file.getAbsolutePath());
                importDataButton.setEnabled(true);
                activePowerRadioButton.setEnabled(true);
                activeAndReactivePowerRadioButton.setEnabled(true);
                installationRadioButton.setEnabled(true);
                singleApplianceRadioButton.setEnabled(true);
            }

        }
    });

    consumptionBrowseButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the browse button to
         * input the consumption model file on the Data File panel of the Import
         * Data tab.
         * 
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            // Opens the browse panel to find the consumption model file
            JFileChooser fc = new JFileChooser("./");

            // Adds a filter to the type of files acceptable for selection
            fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
            fc.setFileFilter(new MyFilter());

            int returnVal = fc.showOpenDialog(contentPane);

            // After choosing the file some of the options in the Data File panel
            // are unlocked
            if (returnVal == JFileChooser.APPROVE_OPTION) {
                File file = fc.getSelectedFile();

                consumptionPathField.setText(file.getAbsolutePath());
                createEventsButton.setEnabled(true);
            }

        }
    });

    resetButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the reset button
         * on the Data File panel of the Import Data tab. All the imported and
         * created entities are removed and the Training Module goes back to its
         * initial state.
         * 
         */
        @Override
        public void actionPerformed(ActionEvent e) {

            // Cleaning the Import Data tab components
            pathField.setText("");
            consumptionPathField.setText("");
            importDataButton.setEnabled(false);
            disaggregateButton.setEnabled(false);
            createEventsButton.setEnabled(false);
            installation = new Installation();
            dataBrowseButton.setEnabled(true);
            consumptionBrowseButton.setEnabled(false);
            installationRadioButton.setEnabled(false);
            installationRadioButton.setSelected(true);
            singleApplianceRadioButton.setEnabled(false);
            activePowerRadioButton.setEnabled(false);
            activeAndReactivePowerRadioButton.setEnabled(false);
            activeAndReactivePowerRadioButton.setSelected(true);
            dataReviewPanel.removeAll();
            dataReviewPanel.updateUI();
            consumptionModelPanel.removeAll();
            consumptionModelPanel.updateUI();
            detectedApplianceList.setSelectedIndex(-1);
            detectedAppliances.clear();
            detectedApplianceList.setListData(new String[0]);
            detectedApplianceList.repaint();

            // Cleaning the Training Activity Models tab components
            distributionPreviewPanel.removeAll();
            distributionPreviewPanel.updateUI();
            expectedPowerPanel.removeAll();
            expectedPowerPanel.updateUI();
            selectedApplianceList.setSelectedIndex(-1);
            selectedAppliances.clear();
            selectedApplianceList.setListData(new String[0]);
            selectedApplianceList.repaint();
            timesHistogramRadioButton.setSelected(true);
            durationNormalRadioButton.setSelected(true);
            startGaussianRadioButton.setSelected(true);

            // Cleaning the Create Response Models tab components
            sensitivitySlider.setValue(50);
            awarenessSlider.setValue(50);
            normalCaseRadioButton.setSelected(true);
            previewResponseButton.setEnabled(false);
            createResponseButton.setEnabled(false);
            createResponseAllButton.setEnabled(false);
            pricingPreviewPanel.removeAll();
            pricingPreviewPanel.updateUI();
            responsePanel.removeAll();
            responsePanel.updateUI();
            activitySelectList.setSelectedIndex(-1);
            activityModels.clear();
            activitySelectList.setListData(new String[0]);
            activitySelectList.repaint();
            basicPricingSchemePane.setText("00:00-23:59-0.05");
            newPricingSchemePane.setText("");
            commitButton.setEnabled(false);
            dailyResponseButton.setEnabled(false);
            startResponseButton.setEnabled(false);

            // Cleaning the Export Models tab components
            exportModelList.setSelectedIndex(-1);
            exportModels.clear();
            exportModelList.setListData(new String[0]);
            exportModelList.repaint();
            exportPreviewPanel.removeAll();
            exportPreviewPanel.updateUI();
            exportDailyButton.setEnabled(false);
            exportDurationButton.setEnabled(false);
            exportStartButton.setEnabled(false);
            exportStartBinnedButton.setEnabled(false);
            exportExpectedPowerButton.setEnabled(false);
            exportButton.setEnabled(false);
            exportAllBaseButton.setEnabled(false);
            exportAllResponseButton.setEnabled(false);
            householdNameTextField.setEnabled(false);

            // Disabling the necessary tabs
            tabbedPane.setEnabledAt(1, false);
            tabbedPane.setEnabledAt(2, false);
            tabbedPane.setEnabledAt(3, false);

            // Clearing the arrayList in need
            tempAppliances.clear();
            tempActivities.clear();

            // Removing temporary files
            Utils.cleanFiles();
            trained = false;

        }
    });

    singleApplianceRadioButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Single Appliance
         * radio button on the Data File panel of the Import Data tab.
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            consumptionPathField.setEnabled(false);
            consumptionBrowseButton.setEnabled(false);
            consumptionPathField.setText("");
        }
    });

    installationRadioButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Installation
         * radio button on the Data File panel of the Import Data tab.
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            consumptionPathField.setEnabled(false);
            consumptionBrowseButton.setEnabled(false);
            consumptionPathField.setText("");
        }
    });

    importDataButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Import Data
         * button on the Data File panel of the Import Data tab.
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            Component root = SwingUtilities.getRoot((JButton) e.getSource());

            try {

                root.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

                // Change the state of some components
                installationRadioButton.setEnabled(false);
                singleApplianceRadioButton.setEnabled(false);
                importDataButton.setEnabled(false);
                dataBrowseButton.setEnabled(false);
                activePowerRadioButton.setEnabled(false);
                activeAndReactivePowerRadioButton.setEnabled(false);

                // Check if both active and reactive activeOnly data set are available
                boolean power = activePowerRadioButton.isSelected();
                int parse = -1;

                // Parsing the measurements file
                try {
                    parse = Utils.parseMeasurementsFile(pathField.getText(), power);
                } catch (IOException e2) {
                    e2.printStackTrace();
                }

                // If everything is OK
                if (parse == -1) {
                    try {
                        // Creating new installation
                        installation = new Installation(pathField.getText(), power);
                    } catch (IOException e2) {
                        e2.printStackTrace();
                    }

                    // Show the measurements in the preview chart
                    ChartPanel chartPanel = null;
                    try {
                        chartPanel = installation.measurementsChart();
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }

                    dataReviewPanel.add(chartPanel, BorderLayout.CENTER);
                    dataReviewPanel.validate();

                    disaggregateButton.setEnabled(false);
                    createEventsButton.setEnabled(false);

                    // Enable the appropriate buttons given source of measurements
                    if (installationRadioButton.isSelected()) {
                        disaggregateButton.setEnabled(true);
                    } else if (singleApplianceRadioButton.isSelected()) {
                        consumptionPathField.setEnabled(true);
                        consumptionBrowseButton.setEnabled(true);

                    }

                    // Add installation to the export models list
                    exportModels.addElement(installation.toString());
                    exportModels.addElement(installation.getPerson().getName());
                    householdNameTextField.setText(installation.getName());

                    // Enable Export Models tab
                    exportModelList.setEnabled(true);
                    exportModelList.setModel(exportModels);
                    tabbedPane.setEnabledAt(3, true);

                }
                // In case of an error during the measurement parsing show the line of
                // error and reset settings.
                else {
                    JFrame error = new JFrame();

                    JOptionPane.showMessageDialog(error,
                            "Parsing measurements file failed. The problem seems to be in line " + parse
                                    + ".Check the selected buttons and the file provided and try again.",
                            "Inane error", JOptionPane.ERROR_MESSAGE);
                    resetButton.doClick();
                }
            } finally {
                root.setCursor(Cursor.getDefaultCursor());
            }
        }
    });

    disaggregateButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Disaggregate
         * button on the Data File panel of the Import Data tab in order to
         * automatically analyse the data set and extract the appliances and
         * activities within.
         */
        @Override
        public void actionPerformed(ActionEvent e) {

            Component root = SwingUtilities.getRoot((JButton) e.getSource());

            try {

                root.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

                // Get auxiliary files containing appliances and activities which are
                // the output of the disaggregation process.
                String filename = pathField.getText();

                File file = new File(filename);

                String folder = file.getParent() + "/";

                String fileNameWithExtension = file.getName();

                String fileName = file.getName().substring(0, file.getName().length() - 4);

                filename = pathField.getText().substring(0, pathField.getText().length() - 4);
                File appliancesFile = new File(Constants.resultFolder + fileName + "ApplianceList.csv");
                File activitiesFile = new File(Constants.resultFolder + fileName + "ActivityList.csv");

                if ((Constants.USE_FILES == false) || (!appliancesFile.exists() && !activitiesFile.exists())) {
                    try {
                        System.out.println("IN!!!");

                        Disaggregate dis = new Disaggregate(folder, fileNameWithExtension);

                        appliancesFile = new File(Constants.resultFolder + fileName + "ApplianceList.csv");
                        activitiesFile = new File(Constants.resultFolder + fileName + "ActivityList.csv");
                    } catch (Exception e2) {
                        System.out.println("Missing File");
                        e2.printStackTrace();
                    }
                }

                // If these exist, disaggregation was successful and the procedure can
                // continue
                if (appliancesFile.exists() && activitiesFile.exists()) {

                    // Read appliance file and start appliance parsing
                    Scanner input = null;
                    try {
                        input = new Scanner(appliancesFile);
                    } catch (FileNotFoundException e1) {
                        e1.printStackTrace();
                    }
                    String nextLine;
                    String[] line;

                    while (input.hasNext()) {
                        nextLine = input.nextLine();
                        line = nextLine.split(",");

                        String name = line[1] + " " + line[0];
                        // String activity = line[1];
                        String activity = name;
                        String[] temp = line[0].split(" ");

                        String type = "";

                        if (temp.length == 1)
                            type = temp[0];
                        else {
                            for (int i = 0; i < temp.length - 1; i++)
                                type += temp[i] + " ";
                            type = type.trim();

                        }

                        boolean refFlag = activity.contains("Refrigeration");
                        boolean wmFlag = name.contains("Washing");

                        double p = 0, q = 0;
                        int distance = 0, duration = 0;

                        if (refFlag) {
                            p = Double.parseDouble(line[2]);
                            q = Double.parseDouble(line[3]);
                            duration = Integer.parseInt(line[4]);
                            distance = Integer.parseInt(line[5]);
                            // For each appliance found in the file, an temporary Appliance
                            // Entity is created.

                            tempAppliances.add(new ApplianceTemp(name, installation.getName(), type, activity,
                                    p, q, duration, distance));
                        } else if (wmFlag) {
                            double[] pValues = new double[line.length / 2 - 1];
                            double[] qValues = new double[line.length / 2 - 1];
                            // For each appliance found in the file, an temporary Appliance
                            // Entity is created.

                            for (int i = 0; i < pValues.length; i++) {
                                pValues[i] = Double.parseDouble(line[2 + 2 * i]);
                                qValues[i] = Double.parseDouble(line[3 + 2 * i]);
                            }

                            tempAppliances.add(new ApplianceTemp(name, installation.getName(), type, activity,
                                    pValues, qValues));
                        } else {
                            p = Double.parseDouble(line[2]);
                            q = Double.parseDouble(line[3]);
                            // For each appliance found in the file, an temporary Appliance
                            // Entity is created.

                            tempAppliances
                                    .add(new ApplianceTemp(name, installation.getName(), type, activity, p, q));
                        }
                    }

                    System.out.println("Appliances:" + tempAppliances.size());

                    input.close();

                    // Read activity file and start activity parsing

                    try {
                        input = new Scanner(activitiesFile);
                    } catch (FileNotFoundException e1) {
                        System.out.println("Problem with activity file.");
                        e1.printStackTrace();
                    }

                    while (input.hasNext()) {
                        nextLine = input.nextLine();
                        line = nextLine.split(",");

                        // System.out.println(Arrays.toString(line));
                        // String name = line[0];
                        // String activity = line[1];
                        String activity = line[1] + " " + line[0];
                        String type = line[1];
                        int start = Integer.parseInt(line[2]);
                        int end = Integer.parseInt(line[3]);

                        // Search for existing activity
                        int activityIndex = findActivity(activity);

                        // if not found, create a new one
                        if (activityIndex == -1) {
                            // System.out.println("In!");
                            ActivityTemp newActivity = new ActivityTemp(activity, type);
                            newActivity.addEvent(start, end);
                            tempActivities.add(newActivity);
                            // System.out.println(tempActivities.toString());

                        }
                        // else add data to the found activity
                        else
                            tempActivities.get(activityIndex).addEvent(start, end);
                    }

                    // This is hard copied for now
                    ArrayList<ActivityTemp> activities = findAllActivity("Refrigeration");
                    for (ActivityTemp activityTemp : activities) {
                        tempActivities.remove(activityTemp);
                        System.out.println("Refrigeration Removed");
                    }

                    int index = findActivity("Standby");
                    if (index != -1) {
                        tempActivities.remove(index);
                        System.out.println("Standby Consumption Removed");
                    }
                    // TODO Add these lines in case we want to remove activities with
                    // small sampling number

                    // System.out.println(tempActivities.size());
                    // for (int i = tempActivities.size() - 1; i >= 0; i--)
                    // if (tempActivities.get(i).getEvents().size() < threshold)
                    // tempActivities.remove(i);

                    // Create an event file for each activity, in order to be able to
                    // use
                    // it for training the behaviour models if asked from the user
                    for (int i = 0; i < tempActivities.size(); i++) {
                        // tempActivities.get(i).status();
                        try {
                            tempActivities.get(i).createEventFile();
                        } catch (IOException e1) {
                            System.out.println("Problem with creating events file.");
                            e1.printStackTrace();
                        }
                    }

                    input.close();

                    // Add each found appliance (after converting temporary appliance to
                    // normal appliance) in the installation Entity, to the detected
                    // appliance and export models list
                    for (ApplianceTemp temp : tempAppliances) {

                        Appliance tempAppliance = temp.toAppliance();

                        installation.addAppliance(tempAppliance);
                        detectedAppliances.addElement(tempAppliance.toString());
                        exportModels.addElement(tempAppliance.toString());

                    }

                    // Add appliances corresponding to each activity, remove activities
                    // without appliances and add activities to the selected activities
                    // list.
                    for (int i = tempActivities.size() - 1; i >= 0; i--) {

                        tempActivities.get(i).setAppliances(findAppliances(tempActivities.get(i)));
                        if (tempActivities.get(i).getAppliances().size() == 0) {
                            tempActivities.remove(i);
                        } else
                            selectedAppliances.addElement(tempActivities.get(i).toString());

                    }

                }
                // In case of an error.
                else {

                    int temp = 8 + ((int) (Math.random() * 2));

                    for (int i = 0; i < temp; i++) {

                        String name = "Appliance " + i;
                        String powerModel = "";
                        String reactiveModel = "";
                        int tempIndex = i % 5;
                        switch (tempIndex) {
                        case 0:
                            powerModel = "{\"n\":1,\"params\":[{\"n\":1,\"values\":[{\"p\":1900,\"d\":1,\"s\":0}]},{\"n\":0,\"values\":[{\"p\":300,\"d\":1,\"s\":0}]}]}";
                            reactiveModel = "{\"n\":1,\"params\":[{\"n\":1,\"values\":[{\"q\":-40,\"d\":1,\"s\":0}]},{\"n\":0,\"values\":[{\"q\":-10,\"d\":1,\"s\":0}]}]}";
                            break;
                        case 1:
                            powerModel = "{ \"n\" : 0, \"params\" : [{ \"n\" : 1, \"values\" : [ {\"p\" : 140.0, \"d\" : 20, \"s\": 0.0}]}]}";
                            reactiveModel = "{ \"n\" : 0, \"params\" : [{ \"n\" : 1, \"values\" : [ {\"q\" : 120.0, \"d\" : 20, \"s\": 0.0}]}]}";
                            break;
                        case 2:
                            powerModel = "{ \"n\" : 0, \"params\" : [{ \"n\" : 1, \"values\" : [ {\"p\" : 95.0, \"d\" : 20, \"s\": 0.0}, {\"p\" :80.0, \"d\" : 18, \"s\": 0.0}, {\"p\" : 0.0, \"d\" : 73, \"s\": 0.0}]}]}]}";
                            reactiveModel = "{ \"n\" : 0, \"params\" : [{ \"n\" : 1, \"values\" : [ {\"q\" : 0.0, \"d\" : 20, \"s\": 0.0}, {\"q\" : 0.0, \"d\" : 18, \"s\": 0.0}, {\"q\" : 0.0, \"d\" : 73, \"s\": 0.0}]}]}]}";
                            break;
                        case 3:
                            powerModel = "{ \"n\" : 0, \"params\" : [{ \"n\" : 1, \"values\" : [ {\"p\" : 30.0, \"d\" : 20, \"s\": 0.0}]}]}";
                            reactiveModel = "{ \"n\" : 0, \"params\" : [{ \"n\" : 1, \"values\" : [ {\"q\" : -5.0, \"d\" : 20, \"s\": 0.0}]}]}";
                            break;
                        case 4:
                            powerModel = "{\"n\":1,\"params\":[{\"n\":1,\"values\":[{\"p\":150,\"d\":25,\"s\":0},{\"p\":2000,\"d\":13,\"s\":0},{\"p\":100,\"d\":62,\"s\":0}]}]}";
                            reactiveModel = "{\"n\":1,\"params\":[{\"n\":1,\"values\":[{\"q\":400,\"d\":25,\"s\":0},{\"q\":200,\"d\":13,\"s\":0},{\"q\":300,\"d\":62,\"s\":0}]}]}";
                            break;
                        }

                        Appliance tempAppliance = new Appliance(name, installation.getName(), powerModel,
                                reactiveModel, "Demo/eventsAll" + tempIndex + ".csv");

                        installation.addAppliance(tempAppliance);
                        detectedAppliances.addElement(tempAppliance.toString());
                        selectedAppliances.addElement(tempAppliance.toString());
                        exportModels.addElement(tempAppliance.toString());
                    }
                }

                // Enable all appliance/activity lists
                detectedApplianceList.setEnabled(true);
                detectedApplianceList.setModel(detectedAppliances);
                detectedApplianceList.setSelectedIndex(0);

                tabbedPane.setEnabledAt(1, true);
                selectedApplianceList.setEnabled(true);
                selectedApplianceList.setModel(selectedAppliances);

                // exportModelList.setEnabled(true);
                // exportModelList.setModel(exportModels);
                // tabbedPane.setEnabledAt(3, true);

                // Disable unnecessary buttons.
                disaggregateButton.setEnabled(false);
                createEventsButton.setEnabled(false);
            } finally {
                root.setCursor(Cursor.getDefaultCursor());
            }
        }
    });

    createEventsButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Create Events
         * button on the Data File panel of the Import Data tab. This button is
         * used when there is a single appliance with an known consumption model
         * so that the events can be extracted automatically from the data set.
         * Used for presentation purposes only since is depricated by the
         * disaggregation function.
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            Component root = SwingUtilities.getRoot((JButton) e.getSource());

            try {

                root.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

                // Parse the consumption model file
                File file = new File(consumptionPathField.getText());
                String temp = file.getName();
                temp = temp.replace(".", " ");
                String name = temp.split(" ")[0];

                Appliance appliance = null;
                try {

                    int rand = (int) (Math.random() * 5);

                    appliance = new Appliance(name, consumptionPathField.getText(),
                            consumptionPathField.getText(), "Demo/eventsAll" + rand + ".csv", installation,
                            activePowerRadioButton.isSelected());
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
                // Add appliance to the installation entity
                installation.addAppliance(appliance);

                // Enable all appliance/activity lists
                detectedAppliances.addElement(appliance.toString());
                selectedAppliances.addElement(appliance.toString());
                exportModels.addElement(appliance.toString());

                detectedApplianceList.setEnabled(true);
                detectedApplianceList.setModel(detectedAppliances);
                detectedApplianceList.setSelectedIndex(0);

                tabbedPane.setEnabledAt(1, true);
                selectedApplianceList.setEnabled(true);
                selectedApplianceList.setModel(selectedAppliances);

                // exportModelList.setEnabled(true);
                // exportModelList.setModel(exportModels);
                // tabbedPane.setEnabledAt(3, true);

                // Disable unnecessary buttons.
                disaggregateButton.setEnabled(false);
                createEventsButton.setEnabled(false);
            } finally {
                root.setCursor(Cursor.getDefaultCursor());
            }
        }
    });

    // APPLIANCE DETECTION //
    detectedApplianceList.addListSelectionListener(new ListSelectionListener() {
        /**
         * This function is called when the user selects an appliance from the
         * list of Detected Appliances on the Disaggregation panel of the Import
         * Data tab. Then the corresponding consumption model is presented in the
         * Consumption Model Preview panel.
         */
        @Override
        public void valueChanged(ListSelectionEvent e) {

            consumptionModelPanel.removeAll();
            consumptionModelPanel.updateUI();

            if (detectedAppliances.size() >= 1) {

                String selection = detectedApplianceList.getSelectedValue();

                Appliance current = installation.findAppliance(selection);

                ChartPanel chartPanel = current.consumptionGraph();

                consumptionModelPanel.add(chartPanel, BorderLayout.CENTER);
                consumptionModelPanel.validate();

            }
        }
    });

    // // TRAINING TAB //
    trainingTab.addComponentListener(new ComponentAdapter() {
        @Override
        public void componentShown(ComponentEvent arg0) {
            selectedApplianceList.setSelectedIndex(0);
        }
    });

    trainingButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Train button on
         * the Training Parameters panel of the Train Activity Models tab. It
         * contains the procedure needed to create an activity model based on the
         * event set of the appliance or activity.
         */
        @Override
        public void actionPerformed(ActionEvent e) {

            Component root = SwingUtilities.getRoot((JButton) e.getSource());

            responsePanel.removeAll();
            responsePanel.validate();
            pricingPreviewPanel.removeAll();
            pricingPreviewPanel.validate();
            previewResponseButton.setEnabled(false);
            createResponseButton.setEnabled(false);
            createResponseAllButton.setEnabled(false);
            dailyResponseButton.setEnabled(false);
            startResponseButton.setEnabled(false);

            try {

                root.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

                // Searching for existing activity or appliance.
                String selection = selectedApplianceList.getSelectedValue();
                ActivityTemp activity = null;

                if (tempActivities.size() > 0)
                    activity = tempActivities.get(findActivity(selection));

                Appliance current = installation.findAppliance(selection);

                String startTime, duration, dailyTimes;

                // Check for the selected distribution methods for training.
                if (timesHistogramRadioButton.isSelected())
                    dailyTimes = "Histogram";
                else if (timesNormalRadioButton.isSelected())
                    dailyTimes = "Normal";
                else
                    dailyTimes = "GMM";

                if (durationHistogramRadioButton.isSelected())
                    duration = "Histogram";
                else if (durationNormalRadioButton.isSelected())
                    duration = "Normal";
                else
                    duration = "GMM";

                if (startHistogramRadioButton.isSelected())
                    startTime = "Histogram";
                else if (startNormalRadioButton.isSelected())
                    startTime = "Normal";
                else
                    startTime = "GMM";

                String[] distributions = { dailyTimes, duration, startTime, "Histogram" };

                // If the selected object from the list is an appliance the training
                // procedure for the appliance begins.
                if (activity == null) {

                    try {
                        installation.getPerson().train(current, distributions);
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }
                }
                // If the selected object from the list is an activity the training
                // procedure for the activity begins.
                else {

                    try {
                        installation.getPerson().train(activity, distributions);
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }

                }

                // System.out.println("Training OK!");

                distributionPreviewPanel.removeAll();
                distributionPreviewPanel.updateUI();

                expectedPowerPanel.removeAll();
                expectedPowerPanel.updateUI();

                // Show the distribution created on the Distribution Preview Panel
                ActivityModel activityModel = installation.getPerson().findActivity(selection, true);

                if (activityModel == null)
                    activityModel = installation.getPerson().findActivity(current);

                ChartPanel chartPanel = activityModel.createDailyTimesDistributionChart();
                distributionPreviewPanel.add(chartPanel, BorderLayout.CENTER);
                distributionPreviewPanel.validate();

                chartPanel = activityModel.createExpectedPowerChart();
                expectedPowerPanel.add(chartPanel, BorderLayout.CENTER);
                expectedPowerPanel.validate();

                // Add the Activity model to the list of trained Activity models of
                // the Create Response Models tab
                int size = activitySelectList.getModel().getSize();

                if (size > 0) {
                    activityModels = (DefaultListModel<String>) activitySelectList.getModel();
                    if (activityModels.contains(activityModel.getName()) == false)
                        activityModels.addElement(activityModel.getName());
                } else {
                    activityModels = new DefaultListModel<String>();
                    activityModels.addElement(activityModel.getName());
                    activitySelectList.setEnabled(true);
                }

                activitySelectList.setModel(activityModels);

                // Add the trained model to the export list also.
                size = exportModelList.getModel().getSize();
                if (size > 0) {
                    exportModels = (DefaultListModel<String>) exportModelList.getModel();
                    if (exportModels.contains(activityModel.getName()) == false)
                        exportModels.addElement(activityModel.getName());
                } else {
                    exportModels = new DefaultListModel<String>();
                    exportModels.addElement(activityModel.getName());
                    exportModelList.setEnabled(true);
                }

                // Enable some buttons necessary to show the results.
                dailyTimesButton.setEnabled(true);
                durationButton.setEnabled(true);
                startTimeButton.setEnabled(true);
                startTimeBinnedButton.setEnabled(true);

                exportModelList.setModel(exportModels);

                exportDailyButton.setEnabled(true);
                exportDurationButton.setEnabled(true);
                exportStartButton.setEnabled(true);
                exportStartBinnedButton.setEnabled(true);

                tabbedPane.setEnabledAt(2, true);
            }

            finally {
                root.setCursor(Cursor.getDefaultCursor());
                trained = true;
            }
        }
    });

    trainAllButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Train All button on
         * the Training Parameters panel of the Train Activity Models tab. It
         * is iterating the aforementioned training procedure to each of the
         * objects on the list.
         */
        @Override
        public void actionPerformed(ActionEvent e) {

            responsePanel.removeAll();
            responsePanel.validate();
            pricingPreviewPanel.removeAll();
            pricingPreviewPanel.validate();
            previewResponseButton.setEnabled(false);
            createResponseButton.setEnabled(false);
            createResponseAllButton.setEnabled(false);
            dailyResponseButton.setEnabled(false);
            startResponseButton.setEnabled(false);

            for (int i = 0; i < selectedApplianceList.getModel().getSize(); i++) {
                selectedApplianceList.setSelectedIndex(i);
                trainingButton.doClick();
            }
        }
    });

    dailyTimesButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Daily Times button on
         * the Distribution Preview panel of the Train Activity Models tab. It
         * shows the Daily Times Distribution for the selected object from the
         * list if available.
         */
        @Override
        public void actionPerformed(ActionEvent arg0) {

            distributionPreviewPanel.removeAll();
            distributionPreviewPanel.updateUI();

            String selection = selectedApplianceList.getSelectedValue();

            Appliance current = installation.findAppliance(selection);

            ActivityModel activityModel = installation.getPerson().findActivity(selection, true);

            if (activityModel == null)
                activityModel = installation.getPerson().findActivity(current);

            ChartPanel chartPanel = activityModel.createDailyTimesDistributionChart();
            distributionPreviewPanel.add(chartPanel, BorderLayout.CENTER);
            distributionPreviewPanel.validate();

        }
    });

    startTimeBinnedButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Start Time Binned
         * button on the Distribution Preview panel of the Train Activity
         * Models tab. It shows the Start Time Binned Distribution for the
         * selected object from the list if available.
         */
        @Override
        public void actionPerformed(ActionEvent arg0) {

            distributionPreviewPanel.removeAll();
            distributionPreviewPanel.updateUI();

            String selection = selectedApplianceList.getSelectedValue();

            Appliance current = installation.findAppliance(selection);

            ActivityModel activityModel = installation.getPerson().findActivity(selection, true);

            if (activityModel == null)
                activityModel = installation.getPerson().findActivity(current);

            ChartPanel chartPanel = activityModel.createStartTimeBinnedDistributionChart();
            distributionPreviewPanel.add(chartPanel, BorderLayout.CENTER);
            distributionPreviewPanel.validate();

        }
    });

    startTimeButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Start Time
         * button on the Distribution Preview panel of the Train Activity
         * Models tab. It shows the Start Time Distribution for the selected
         * object from the list if available.
         */
        @Override
        public void actionPerformed(ActionEvent arg0) {

            distributionPreviewPanel.removeAll();
            distributionPreviewPanel.updateUI();

            String selection = selectedApplianceList.getSelectedValue();

            Appliance current = installation.findAppliance(selection);

            ActivityModel activityModel = installation.getPerson().findActivity(selection, true);

            if (activityModel == null)
                activityModel = installation.getPerson().findActivity(current);

            ChartPanel chartPanel = activityModel.createStartTimeDistributionChart();
            distributionPreviewPanel.add(chartPanel, BorderLayout.CENTER);
            distributionPreviewPanel.validate();

        }
    });

    durationButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Duration
         * button on the Distribution Preview panel of the Train Activity
         * Models tab. It shows the Duration Distribution for the selected
         * object from the list if available.
         */
        @Override
        public void actionPerformed(ActionEvent arg0) {

            distributionPreviewPanel.removeAll();
            distributionPreviewPanel.updateUI();

            String selection = selectedApplianceList.getSelectedValue();

            Appliance current = installation.findAppliance(selection);

            ActivityModel activityModel = installation.getPerson().findActivity(selection, true);

            if (activityModel == null)
                activityModel = installation.getPerson().findActivity(current);

            ChartPanel chartPanel = activityModel.createDurationDistributionChart();
            distributionPreviewPanel.add(chartPanel, BorderLayout.CENTER);
            distributionPreviewPanel.validate();

        }
    });

    selectedApplianceList.addListSelectionListener(new ListSelectionListener() {
        /**
         * This function is called when the user selects an appliance or activity
         * from the list of Selected Appliances on the Appliance / Activity
         * Selection panel of the Train Activity Models tab. Then an example
         * corresponding consumption model is presented in the Consumption Model
         * Preview panel.
         */
        @Override
        public void valueChanged(ListSelectionEvent arg0) {

            ChartPanel chartPanel = null, chartPanel2 = null, chartPanel3 = null;
            expectedPowerPanel.removeAll();
            expectedPowerPanel.updateUI();
            distributionPreviewPanel.removeAll();
            distributionPreviewPanel.updateUI();

            // If there are any appliances / activities on the list
            if (selectedAppliances.size() >= 1) {

                // Find the corresponding appliance / activity and show its
                // consumption model
                String selection = selectedApplianceList.getSelectedValue();

                Appliance currentAppliance = installation.findAppliance(selection);

                ActivityModel activityModel = installation.getPerson().findActivity(selection, true);

                // If there is also an Activity model trained, show the corresponding
                // distribution charts on the Distribution Preview panel

                if (currentAppliance != null)
                    activityModel = installation.getPerson().findActivity(currentAppliance);

                if (activityModel == null)
                    activityModel = installation.getPerson().findActivity(selection, true);

                if (activityModel != null) {

                    dailyTimesButton.setEnabled(true);
                    durationButton.setEnabled(true);
                    startTimeButton.setEnabled(true);
                    startTimeBinnedButton.setEnabled(true);

                    chartPanel2 = activityModel.createDailyTimesDistributionChart();
                    distributionPreviewPanel.add(chartPanel2, BorderLayout.CENTER);
                    distributionPreviewPanel.validate();
                    distributionPreviewPanel.updateUI();

                    chartPanel3 = activityModel.createExpectedPowerChart();
                    expectedPowerPanel.add(chartPanel3, BorderLayout.CENTER);
                    expectedPowerPanel.validate();
                    expectedPowerPanel.updateUI();

                } else {
                    dailyTimesButton.setEnabled(false);
                    durationButton.setEnabled(false);
                    startTimeButton.setEnabled(false);
                    startTimeBinnedButton.setEnabled(false);
                }
            }

        }
    });

    // RESPONSE TAB //

    createResponseTab.addComponentListener(new ComponentAdapter() {
        @Override
        public void componentHidden(ComponentEvent arg0) {
            activitySelectList.setSelectedIndex(0);

        }

        @Override
        public void componentShown(ComponentEvent arg0) {
            activitySelectList.setSelectedIndex(0);
        }
    });

    previewResponseButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Preview Response
         * button on the Response Parameters panel of the Create Response Models
         * tab. This button is enabled after selecting activity model, response
         * type and pricing for testing and presents a preview of the response
         * model that may be extracted.
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            Component root = SwingUtilities.getRoot((JButton) e.getSource());

            try {

                root.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

                responsePanel.removeAll();

                // Find the selected activity
                ActivityModel activity = installation.getPerson()
                        .findActivity(activitySelectList.getSelectedValue(), false);

                int response = -1;

                // Check for the selected response type
                if (optimalCaseRadioButton.isSelected())
                    response = 0;
                else if (normalCaseRadioButton.isSelected())
                    response = 1;
                else
                    response = 2;

                // Parse the pricing schemes
                double[] basicScheme = Utils.parseScheme(basicPricingSchemePane.getText());
                double[] newScheme = Utils.parseScheme(newPricingSchemePane.getText());

                float awareness = (float) (awarenessSlider.getValue()) / 100;
                float sensitivity = (float) (sensitivitySlider.getValue()) / 100;

                System.out.println("Awareness: " + awareness + " Sensitivity: " + sensitivity);

                // Create a preview chart of the response model
                ChartPanel chartPanel = installation.getPerson().previewResponse(activity, response,
                        basicScheme, newScheme, awareness, sensitivity);

                responsePanel.add(chartPanel, BorderLayout.CENTER);
                responsePanel.validate();

                createResponseButton.setEnabled(true);
                createResponseAllButton.setEnabled(true);
                dailyResponseButton.setEnabled(true);
                startResponseButton.setEnabled(true);
            } finally {
                root.setCursor(Cursor.getDefaultCursor());
            }
        }
    });

    createResponseButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Create Response Model
         * button on the Response Parameters panel of the Create Response Models
         * tab. This button is enabled after preview results of the selected
         * activity model, response type and pricing for testing and creates the
         * response model for the user.
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            Component root = SwingUtilities.getRoot((JButton) e.getSource());

            try {

                root.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

                exportPreviewPanel.removeAll();
                exportPreviewPanel.updateUI();

                int responseType = -1;
                String responseString = "";
                // Check for the selected response type
                if (optimalCaseRadioButton.isSelected()) {
                    responseType = 0;
                    responseString = "Optimal";
                } else if (normalCaseRadioButton.isSelected()) {
                    responseType = 1;
                    responseString = "Normal";
                } else if (discreteCaseRadioButton.isSelected()) {
                    responseType = 2;
                    responseString = "Discrete";
                }

                // Parse the pricing schemes
                double[] basicScheme = Utils.parseScheme(basicPricingSchemePane.getText());
                double[] newScheme = Utils.parseScheme(newPricingSchemePane.getText());

                // Create the response model
                ActivityModel activity = installation.getPerson()
                        .findActivity(activitySelectList.getSelectedValue(), false);

                String response = "";

                float awareness = (float) (awarenessSlider.getValue()) / 100;
                float sensitivity = (float) (sensitivitySlider.getValue()) / 100;

                System.out.println("Awareness: " + awareness + " Sensitivity: " + sensitivity);

                try {
                    response = installation.getPerson().createResponse(activity, responseType, basicScheme,
                            newScheme, awareness, sensitivity);
                } catch (IOException exc) {

                    exc.printStackTrace();
                }

                // Add the response model extracted to the export model list.
                int size = exportModelList.getModel().getSize();
                // System.out.println(size);

                if (size > 0) {
                    exportModels = (DefaultListModel<String>) exportModelList.getModel();

                    String response2 = "", response3 = "";
                    if (responseString.equalsIgnoreCase("Optimal")) {
                        response2 = response.replace(responseString, "Normal");
                        response3 = response.replace(responseString, "Discrete");
                    } else if (responseString.equalsIgnoreCase("Normal")) {
                        response2 = response.replace(responseString, "Optimal");
                        response3 = response.replace(responseString, "Discrete");
                    } else {
                        response2 = response.replace(responseString, "Optimal");
                        response3 = response.replace(responseString, "Normal");
                    }

                    if (exportModels.contains(response2))
                        exportModels.removeElement(response2);
                    if (exportModels.contains(response3))
                        exportModels.removeElement(response3);

                    if (exportModels.contains(response) == false)
                        exportModels.addElement(response);
                } else {
                    exportModels = new DefaultListModel<String>();
                    exportModels.addElement(response);
                    exportModelList.setEnabled(true);
                }
                exportModelList.setModel(exportModels);

                if (manyFlag == false) {

                    JFrame success = new JFrame();

                    JOptionPane.showMessageDialog(success,
                            "The response model " + response + " was created successfully",
                            "Response Model Created", JOptionPane.INFORMATION_MESSAGE);
                }
            }

            finally {
                root.setCursor(Cursor.getDefaultCursor());
            }
        }
    });

    createResponseAllButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Create Response All
         * button on the Response Parameters panel of the Create Response Models
         * tab. This is achieved by iterating the procedure above for all the
         * available activity models in the list.
         */
        @Override
        public void actionPerformed(ActionEvent arg0) {
            manyFlag = true;

            for (int i = 0; i < activitySelectList.getModel().getSize(); i++) {
                activitySelectList.setSelectedIndex(i);
                createResponseButton.doClick();
            }

            JFrame success = new JFrame();

            JOptionPane.showMessageDialog(success, "The response models were created successfully",
                    "Response Models Created", JOptionPane.INFORMATION_MESSAGE);

            manyFlag = false;
        }
    });

    newPricingSchemePane.addKeyListener(new KeyAdapter() {
        @Override
        public void keyTyped(KeyEvent arg0) {
            commitButton.setEnabled(true);
        }
    });

    basicPricingSchemePane.addCaretListener(new CaretListener() {
        @Override
        public void caretUpdate(CaretEvent arg0) {
            commitButton.setEnabled(true);
        }
    });

    commitButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Commit button on the
         * Pricing Scheme panel of the Create Response Models tab. This button is
         * enabled after adding the two pricing schemes that are prerequisites for
         * the creation of a response model.
         */
        @Override
        public void actionPerformed(ActionEvent e) {

            Component root = SwingUtilities.getRoot((JButton) e.getSource());

            try {

                root.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

                boolean basicScheme = false;
                boolean newScheme = false;
                int parseBasic = 0;
                int parseNew = 0;

                pricingPreviewPanel.removeAll();

                // Check if both pricing schemes are entered
                if (basicPricingSchemePane.getText().equalsIgnoreCase("") == false)
                    basicScheme = true;

                if (newPricingSchemePane.getText().equalsIgnoreCase("") == false)
                    newScheme = true;

                // Parse the pricing schemes for errors
                if (basicScheme)
                    parseBasic = Utils.parsePricingScheme(basicPricingSchemePane.getText());

                if (newScheme)
                    parseNew = Utils.parsePricingScheme(newPricingSchemePane.getText());

                // If errors are found then present the line the error may be at
                if (parseBasic != -1) {
                    JFrame error = new JFrame();

                    JOptionPane.showMessageDialog(error,
                            "Basic Pricing Scheme is not defined correctly. Please check your input in line "
                                    + parseBasic + " and try again.",
                            "Inane error", JOptionPane.ERROR_MESSAGE);
                } else if (parseNew != -1) {
                    JFrame error = new JFrame();

                    JOptionPane.showMessageDialog(error,
                            "New Pricing Scheme is not defined correctly. Please check your input in line "
                                    + parseNew + " and try again.",
                            "Inane error", JOptionPane.ERROR_MESSAGE);
                }
                // If no errors are found make a preview chart of the two pricing
                // schemes
                else {
                    if (basicScheme && newScheme) {
                        ChartPanel chartPanel = ChartUtils.parsePricingScheme(basicPricingSchemePane.getText(),
                                newPricingSchemePane.getText());

                        pricingPreviewPanel.add(chartPanel, BorderLayout.CENTER);
                        pricingPreviewPanel.validate();

                        previewResponseButton.setEnabled(true);

                    } else {
                        JFrame error = new JFrame();

                        JOptionPane.showMessageDialog(error,
                                "You have not defined both pricing schemes.Please check your input and try again.",
                                "Inane error", JOptionPane.ERROR_MESSAGE);
                        previewResponseButton.setEnabled(false);
                    }
                }

                responsePanel.removeAll();
                responsePanel.validate();
                createResponseButton.setEnabled(false);
                createResponseAllButton.setEnabled(false);
                dailyResponseButton.setEnabled(false);
                startResponseButton.setEnabled(false);

            }

            finally {
                root.setCursor(Cursor.getDefaultCursor());
            }
        }
    });

    startResponseButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the start time button on
         * the Preview Response panel of the Create Response Models tab. This
         * button is enabled after the user has pressed the Response Preview
         * button in order to see the results of his pricing scheme on a activity
         * model. It shows the changes in the start time distribution.
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            Component root = SwingUtilities.getRoot((JButton) e.getSource());

            try {

                root.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

                responsePanel.removeAll();

                // Find the selected activity
                ActivityModel activity = installation.getPerson()
                        .findActivity(activitySelectList.getSelectedValue(), false);

                int response = -1;

                // Check for the selected response type
                if (optimalCaseRadioButton.isSelected())
                    response = 0;
                else if (normalCaseRadioButton.isSelected())
                    response = 1;
                else
                    response = 2;

                // Parse the pricing schemes
                double[] basicScheme = Utils.parseScheme(basicPricingSchemePane.getText());
                double[] newScheme = Utils.parseScheme(newPricingSchemePane.getText());

                float awareness = (float) (awarenessSlider.getValue()) / 100;
                float sensitivity = (float) (sensitivitySlider.getValue()) / 100;

                System.out.println("Awareness: " + awareness + " Sensitivity: " + sensitivity);

                // Create a preview chart of the response model
                ChartPanel chartPanel = installation.getPerson().previewResponse(activity, response,
                        basicScheme, newScheme, awareness, sensitivity);

                responsePanel.add(chartPanel, BorderLayout.CENTER);
                responsePanel.validate();

                createResponseButton.setEnabled(true);
                createResponseAllButton.setEnabled(true);
                dailyResponseButton.setEnabled(true);
                startResponseButton.setEnabled(true);
            } finally {
                root.setCursor(Cursor.getDefaultCursor());
            }

        }
    });

    dailyResponseButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the start time button on
         * the Preview Response panel of the Create Response Models tab. This
         * button is enabled after the user has pressed the Response Preview
         * button in order to see the results of his pricing scheme on a activity
         * model. It shows the changes in the daily times distribution.
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            Component root = SwingUtilities.getRoot((JButton) e.getSource());

            try {

                root.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

                responsePanel.removeAll();

                // Find the selected activity
                ActivityModel activity = installation.getPerson()
                        .findActivity(activitySelectList.getSelectedValue(), false);

                // Parse the pricing schemes
                double[] basicScheme = Utils.parseScheme(basicPricingSchemePane.getText());
                double[] newScheme = Utils.parseScheme(newPricingSchemePane.getText());

                float awareness = (float) (awarenessSlider.getValue()) / 100;
                float sensitivity = (float) (sensitivitySlider.getValue()) / 100;

                System.out.println("Awareness: " + awareness + " Sensitivity: " + sensitivity);

                // Create a preview chart of the response model
                ChartPanel chartPanel = installation.getPerson().previewDailyResponse(activity, basicScheme,
                        newScheme, awareness, sensitivity);

                responsePanel.add(chartPanel, BorderLayout.CENTER);
                responsePanel.validate();

                createResponseButton.setEnabled(true);
                createResponseAllButton.setEnabled(true);
                dailyResponseButton.setEnabled(true);
                startResponseButton.setEnabled(true);
            } finally {
                root.setCursor(Cursor.getDefaultCursor());
            }

        }
    });

    // EXPORT TAB //

    exportTab.addComponentListener(new ComponentAdapter() {
        @Override
        public void componentShown(ComponentEvent arg0) {
            exportModelList.setSelectedIndex(0);
        }
    });

    exportModelList.addListSelectionListener(new ListSelectionListener() {
        /**
         * This function is called when the user selects an entity from the
         * list of models on the Model Export Selection panel of the Export Models
         * tab. Then the corresponding preview of the entity model is presented in
         * the
         * Export Model Preview panel.
         */
        @Override
        public void valueChanged(ListSelectionEvent arg0) {
            if (tabbedPane.getSelectedIndex() == 3) {
                exportPreviewPanel.removeAll();
                exportPreviewPanel.updateUI();

                // Checking if the list has any object
                if (exportModels.size() > 1) {
                    String selection = exportModelList.getSelectedValue();

                    // Check to see what type of entity is selected (Installation,
                    // Person, Appliance, Activity, Response)
                    Appliance appliance = installation.findAppliance(selection);

                    ActivityModel activity = installation.getPerson().findActivity(selection, false);

                    ResponseModel response = installation.getPerson().findResponse(selection);

                    // Create the appropriate chart for the selected entity and show it.
                    ChartPanel chartPanel = null;

                    if (selection.equalsIgnoreCase(installation.getName())) {

                        try {
                            chartPanel = installation.measurementsChart();

                            exportDailyButton.setEnabled(false);
                            exportDurationButton.setEnabled(false);
                            exportStartButton.setEnabled(false);
                            exportStartBinnedButton.setEnabled(false);
                            if (trained)
                                exportExpectedPowerButton.setEnabled(true);
                            else
                                exportExpectedPowerButton.setEnabled(false);
                        } catch (IOException e1) {
                            e1.printStackTrace();
                        }

                    } else if (selection.equalsIgnoreCase(installation.getPerson().getName())) {

                        chartPanel = installation.getPerson().statisticGraphs();

                        exportDailyButton.setEnabled(false);
                        exportDurationButton.setEnabled(false);
                        exportStartButton.setEnabled(false);
                        exportStartBinnedButton.setEnabled(false);
                        exportExpectedPowerButton.setEnabled(false);

                    } else if (appliance != null) {

                        chartPanel = appliance.consumptionGraph();

                        exportDailyButton.setEnabled(false);
                        exportDurationButton.setEnabled(false);
                        exportStartButton.setEnabled(false);
                        exportStartBinnedButton.setEnabled(false);
                        exportExpectedPowerButton.setEnabled(false);

                    } else if (activity != null) {

                        chartPanel = activity.createDailyTimesDistributionChart();
                        activity.status();
                        exportDailyButton.setEnabled(true);
                        exportDurationButton.setEnabled(true);
                        exportStartButton.setEnabled(true);
                        exportStartBinnedButton.setEnabled(true);
                        exportExpectedPowerButton.setEnabled(true);
                    } else if (response != null) {

                        chartPanel = response.createDailyTimesDistributionChart();

                        exportDailyButton.setEnabled(true);
                        exportDurationButton.setEnabled(true);
                        exportStartButton.setEnabled(true);
                        exportStartBinnedButton.setEnabled(true);
                        exportExpectedPowerButton.setEnabled(true);
                    }

                    exportPreviewPanel.add(chartPanel, BorderLayout.CENTER);
                    exportPreviewPanel.validate();
                }
            }
        }
    });

    exportDailyButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Daily Times
         * button on the Entity Preview panel of the Export Models tab. It shows
         * the Daily Times Distribution for the selected object from the list.
         */
        @Override
        public void actionPerformed(ActionEvent arg0) {

            exportPreviewPanel.removeAll();
            exportPreviewPanel.updateUI();

            String selection = exportModelList.getSelectedValue();

            ActivityModel activity = installation.getPerson().findActivity(selection, false);

            ResponseModel response = installation.getPerson().findResponse(selection);

            ChartPanel chartPanel = null;

            if (activity != null)
                chartPanel = activity.createDailyTimesDistributionChart();

            else
                chartPanel = response.createDailyTimesDistributionChart();

            exportPreviewPanel.add(chartPanel, BorderLayout.CENTER);
            exportPreviewPanel.validate();
        }
    });

    exportStartBinnedButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Start Time Binned
         * button on the Entity Preview panel of the Export Models tab. It shows
         * the Start Time Binned Distribution for the selected object from the
         * list.
         */
        @Override
        public void actionPerformed(ActionEvent arg0) {

            exportPreviewPanel.removeAll();
            exportPreviewPanel.updateUI();

            String selection = exportModelList.getSelectedValue();

            ActivityModel activity = installation.getPerson().findActivity(selection, false);

            ResponseModel response = installation.getPerson().findResponse(selection);

            ChartPanel chartPanel = null;

            if (activity != null)
                chartPanel = activity.createStartTimeBinnedDistributionChart();

            else
                chartPanel = response.createStartTimeBinnedDistributionChart();

            exportPreviewPanel.add(chartPanel, BorderLayout.CENTER);
            exportPreviewPanel.validate();

        }
    });

    exportStartButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Start Time
         * button on the Entity Preview panel of the Export Models tab. It shows
         * the Start Time Distribution for the selected object from the list.
         */
        @Override
        public void actionPerformed(ActionEvent arg0) {

            exportPreviewPanel.removeAll();
            exportPreviewPanel.updateUI();

            String selection = exportModelList.getSelectedValue();

            ActivityModel activity = installation.getPerson().findActivity(selection, false);

            ResponseModel response = installation.getPerson().findResponse(selection);

            ChartPanel chartPanel = null;

            if (activity != null)
                chartPanel = activity.createStartTimeDistributionChart();
            else
                chartPanel = response.createStartTimeDistributionChart();

            exportPreviewPanel.add(chartPanel, BorderLayout.CENTER);
            exportPreviewPanel.validate();

        }
    });

    exportDurationButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Duration
         * button on the Entity Preview panel of the Export Models tab. It shows
         * the Duration Distribution for the selected object from the list.
         */
        @Override
        public void actionPerformed(ActionEvent arg0) {

            exportPreviewPanel.removeAll();
            exportPreviewPanel.updateUI();

            String selection = exportModelList.getSelectedValue();

            ActivityModel activity = installation.getPerson().findActivity(selection, false);

            ResponseModel response = installation.getPerson().findResponse(selection);

            ChartPanel chartPanel = null;

            if (activity != null)
                chartPanel = activity.createDurationDistributionChart();
            else
                chartPanel = response.createDurationDistributionChart();

            exportPreviewPanel.add(chartPanel, BorderLayout.CENTER);
            exportPreviewPanel.validate();

        }
    });

    exportExpectedPowerButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {

            exportPreviewPanel.removeAll();
            exportPreviewPanel.updateUI();

            String selection = exportModelList.getSelectedValue();

            ActivityModel activity = installation.getPerson().findActivity(selection, false);

            ResponseModel response = installation.getPerson().findResponse(selection);

            ChartPanel chartPanel = null;

            if (selection.equalsIgnoreCase(installation.getName()))
                chartPanel = installation.createExpectedPowerChart();
            else if (activity != null)
                chartPanel = activity.createExpectedPowerChart();
            else
                chartPanel = response.createExpectedPowerChart();

            exportPreviewPanel.add(chartPanel, BorderLayout.CENTER);
            exportPreviewPanel.validate();

        }
    });

    connectButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Connect button on the
         * Connection Properties panel of the Export Models tab. It helps the user
         * to connect to his Cassandra Library and export the models he created
         * there.
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            boolean result = false;

            // Reads the user credentials and the server to connect to.
            try {
                APIUtilities.setUrl(urlTextField.getText());

                result = APIUtilities.sendUserCredentials(usernameTextField.getText(),
                        passwordField.getPassword());
            } catch (Exception e1) {
                e1.printStackTrace();
            }

            // If the use credentials are correct
            if (result) {
                exportButton.setEnabled(true);
                exportAllBaseButton.setEnabled(true);
                exportAllResponseButton.setEnabled(true);
                householdNameTextField.setEnabled(true);
            }
            // Else a error message appears.
            else {
                JFrame error = new JFrame();

                JOptionPane.showMessageDialog(error, "User Credentials are not correct! Please try again.",
                        "Inane error", JOptionPane.ERROR_MESSAGE);
                passwordField.setText("");
            }

        }
    });

    passwordField.addCaretListener(new CaretListener() {
        @Override
        public void caretUpdate(CaretEvent e) {
            String pass = String.valueOf(passwordField.getPassword());

            if (pass.equals("")) {
                connectButton.setEnabled(false);
            } else
                connectButton.setEnabled(true);
        }
    });

    exportButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Export button on the
         * Connection Properties panel of the Export Models tab. The entity model
         * selected from the list is then exported to the User Library in
         * Cassandra Platform.
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            Component root = SwingUtilities.getRoot((JButton) e.getSource());

            try {

                root.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

                // Parsing the selected entity and find out what type of entity it is.
                String selection = exportModelList.getSelectedValue();

                Appliance appliance = installation.findAppliance(selection);

                ActivityModel activity = installation.getPerson().findActivity(selection, false);

                ResponseModel response = installation.getPerson().findResponse(selection);

                // If it is installation
                if (selection.equalsIgnoreCase(installation.getName())) {
                    String oldName = installation.getName();
                    installation.setName(householdNameTextField.getText());

                    try {
                        installation.setInstallationID(APIUtilities
                                .sendEntity(installation.toJSON(APIUtilities.getUserID()).toString(), "/inst"));

                    } catch (IOException | AuthenticationException | NoSuchAlgorithmException e1) {
                        e1.printStackTrace();
                    }

                    installation.setName(oldName);

                    JFrame success = new JFrame();

                    JOptionPane.showMessageDialog(success,
                            "The installation model " + installation.getName() + " was exported successfully",
                            "Installation Model Exported", JOptionPane.INFORMATION_MESSAGE);

                }
                // If it is person
                else if (selection.equalsIgnoreCase(installation.getPerson().getName())) {

                    try {
                        installation.getPerson().setPersonID(APIUtilities.sendEntity(
                                installation.getPerson().toJSON(APIUtilities.getUserID()).toString(), "/pers"));
                    } catch (IOException | AuthenticationException | NoSuchAlgorithmException e1) {
                        e1.printStackTrace();
                    }

                    JFrame success = new JFrame();

                    JOptionPane.showMessageDialog(success,
                            "The person model " + installation.getPerson().getName()
                                    + " was exported successfully",
                            "Person Model Exported", JOptionPane.INFORMATION_MESSAGE);

                }
                // If it is appliance
                else if (appliance != null) {

                    try {
                        appliance.setApplianceID(APIUtilities
                                .sendEntity(appliance.toJSON(APIUtilities.getUserID()).toString(), "/app"));

                        APIUtilities.sendEntity(appliance.powerConsumptionModelToJSON().toString(), "/consmod");

                    } catch (IOException | AuthenticationException | NoSuchAlgorithmException e1) {
                        e1.printStackTrace();
                    }

                    JFrame success = new JFrame();

                    JOptionPane.showMessageDialog(success,
                            "The appliance model " + appliance.getName() + " was exported successfully",
                            "Appliance Model Exported", JOptionPane.INFORMATION_MESSAGE);

                }
                // If it is activity
                else if (activity != null) {

                    String[] applianceTemp = new String[activity.getAppliancesOf().length];
                    String activityTemp = "";
                    String durationTemp = "";
                    String dailyTemp = "";
                    String startTemp = "";

                    // For each appliance that participates in the activity
                    for (int i = 0; i < activity.getAppliancesOf().length; i++) {

                        Appliance activityAppliance = activity.getAppliancesOf()[i];

                        try {
                            // In case the appliances contained in the Activity model are
                            // not
                            // in the database, we create the object there before sending
                            // the
                            // activity model
                            if (activityAppliance.getApplianceID().equalsIgnoreCase("")) {

                                activityAppliance.setApplianceID(APIUtilities.sendEntity(
                                        activityAppliance.toJSON(APIUtilities.getUserID()).toString(), "/app"));

                                APIUtilities.sendEntity(
                                        activityAppliance.powerConsumptionModelToJSON().toString(), "/consmod");
                            }
                            applianceTemp[i] = activityAppliance.getApplianceID();
                        } catch (IOException | AuthenticationException | NoSuchAlgorithmException e1) {
                            e1.printStackTrace();
                        }

                    }

                    try {

                        String[] appliancesID = applianceTemp;

                        // Creating the JSON of the activity model
                        activity.setActivityModelID(APIUtilities.sendEntity(
                                activity.toJSON(appliancesID, APIUtilities.getUserID()).toString(), "/actmod"));

                        activityTemp = activity.getActivityModelID();

                        // Creating the JSON of the distributions
                        activity.getDailyTimes().setDistributionID(APIUtilities.sendEntity(
                                activity.getDailyTimes().toJSON(activityTemp).toString(), "/distr"));

                        activity.setDailyID(activity.getDailyTimes().getDistributionID());
                        dailyTemp = activity.getDailyID();

                        activity.getDuration().setDistributionID(APIUtilities
                                .sendEntity(activity.getDuration().toJSON(activityTemp).toString(), "/distr"));

                        activity.setDurationID(activity.getDuration().getDistributionID());
                        durationTemp = activity.getDurationID();

                        activity.getStartTime().setDistributionID(APIUtilities
                                .sendEntity(activity.getStartTime().toJSON(activityTemp).toString(), "/distr"));

                        activity.setStartID(activity.getStartTime().getDistributionID());
                        startTemp = activity.getStartID();

                        // Adding the JSON of the distributions to the activity model
                        APIUtilities.updateEntity(
                                activity.toJSON(appliancesID, APIUtilities.getUserID()).toString(), "/actmod",
                                activityTemp);

                    } catch (AuthenticationException | NoSuchAlgorithmException | IOException e1) {

                        e1.printStackTrace();
                    }

                    JFrame success = new JFrame();

                    JOptionPane.showMessageDialog(success,
                            "The activity model " + activity.getName() + " was exported successfully",
                            "Activity Model Exported", JOptionPane.INFORMATION_MESSAGE);

                }
                // If it is response
                else if (response != null) {
                    String[] applianceTemp = new String[response.getAppliancesOf().length];

                    String responseTemp = "";
                    String durationTemp = "";
                    String dailyTemp = "";
                    String startTemp = "";

                    // For each appliance that participates in the activity
                    for (int i = 0; i < response.getAppliancesOf().length; i++) {

                        Appliance responseAppliance = response.getAppliancesOf()[i];

                        try {
                            // In case the appliances contained in the Activity model are
                            // not
                            // in the database, we create the object there before sending
                            // the
                            // activity model
                            if (responseAppliance.getApplianceID().equalsIgnoreCase("")) {

                                responseAppliance.setApplianceID(APIUtilities.sendEntity(
                                        responseAppliance.toJSON(APIUtilities.getUserID()).toString(), "/app"));

                                APIUtilities.sendEntity(
                                        responseAppliance.powerConsumptionModelToJSON().toString(), "/consmod");
                            }
                            applianceTemp[i] = responseAppliance.getApplianceID();
                        } catch (IOException | AuthenticationException | NoSuchAlgorithmException e1) {
                            e1.printStackTrace();
                        }
                    }

                    try {

                        String[] appliancesID = applianceTemp;

                        // Creating the JSON of the response
                        response.setActivityModelID(APIUtilities.sendEntity(
                                response.toJSON(appliancesID, APIUtilities.getUserID()).toString(), "/actmod"));

                        responseTemp = response.getActivityModelID();

                        // Creating the JSON of the distributions
                        response.getDailyTimes().setDistributionID(APIUtilities.sendEntity(
                                response.getDailyTimes().toJSON(responseTemp).toString(), "/distr"));

                        response.setDailyID(response.getDailyTimes().getDistributionID());
                        dailyTemp = response.getDailyID();

                        response.getDuration().setDistributionID(APIUtilities
                                .sendEntity(response.getDuration().toJSON(responseTemp).toString(), "/distr"));

                        response.setDurationID(response.getDuration().getDistributionID());
                        durationTemp = response.getDurationID();

                        response.getStartTime().setDistributionID(APIUtilities
                                .sendEntity(response.getStartTime().toJSON(responseTemp).toString(), "/distr"));

                        response.setStartID(response.getStartTime().getDistributionID());
                        startTemp = response.getStartID();

                        // Adding the JSON of the distributions to the activity model
                        APIUtilities.updateEntity(
                                response.toJSON(appliancesID, APIUtilities.getUserID()).toString(), "/actmod",
                                responseTemp);

                    } catch (AuthenticationException | NoSuchAlgorithmException | IOException e1) {

                        e1.printStackTrace();
                    }

                    JFrame success = new JFrame();

                    JOptionPane.showMessageDialog(success,
                            "The response model " + response.getName() + " was exported successfully",
                            "Response Model Exported", JOptionPane.INFORMATION_MESSAGE);

                }
            }

            finally {
                root.setCursor(Cursor.getDefaultCursor());
            }
        }
    });

    exportAllBaseButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Export All Base
         * button on the Connection Properties panel of the Export Models tab. The
         * export procedure above is iterated through all the entities available
         * on the list except for the response models.
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            Component root = SwingUtilities.getRoot((JButton) e.getSource());

            try {

                root.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

                for (int i = 0; i < exportModelList.getModel().getSize(); i++) {
                    exportModelList.setSelectedIndex(i);

                    String selection = exportModelList.getSelectedValue();

                    Appliance appliance = installation.findAppliance(selection);

                    ActivityModel activity = installation.getPerson().findActivity(selection, false);

                    ResponseModel response = installation.getPerson().findResponse(selection);

                    if (selection.equalsIgnoreCase(installation.getName())) {

                        String oldName = installation.getName();

                        try {

                            installation.setName(householdNameTextField.getText() + " Base");

                            installation.setInstallationID(APIUtilities.sendEntity(
                                    installation.toJSON(APIUtilities.getUserID()).toString(), "/inst"));

                            installation.setName(oldName);
                        } catch (IOException | AuthenticationException | NoSuchAlgorithmException e1) {
                            e1.printStackTrace();
                        }

                    } else if (selection.equalsIgnoreCase(installation.getPerson().getName())) {

                        try {
                            installation.getPerson().setPersonID(APIUtilities.sendEntity(installation
                                    .getPerson().toJSON(installation.getInstallationID()).toString(), "/pers"));
                        } catch (IOException | AuthenticationException | NoSuchAlgorithmException e1) {
                            e1.printStackTrace();
                        }

                    } else if (appliance != null) {

                        try {
                            appliance.setApplianceID(APIUtilities.sendEntity(
                                    appliance.toJSON(installation.getInstallationID().toString()).toString(),
                                    "/app"));

                            APIUtilities.sendEntity(appliance.powerConsumptionModelToJSON().toString(),
                                    "/consmod");

                        } catch (IOException | AuthenticationException | NoSuchAlgorithmException e1) {
                            e1.printStackTrace();
                        }

                    } else if (activity != null) {

                        String[] applianceTemp = new String[activity.getAppliancesOf().length];

                        String personTemp = "";
                        String activityTemp = "";
                        String durationTemp = "";
                        String dailyTemp = "";
                        String startTemp = "";

                        // For each appliance that participates in the activity
                        for (int j = 0; j < activity.getAppliancesOf().length; j++) {

                            Appliance activityAppliance = activity.getAppliancesOf()[j];
                            applianceTemp[j] = activityAppliance.getApplianceID();
                        }

                        personTemp = installation.getPerson().getPersonID();

                        try {

                            activity.setActivityID(APIUtilities
                                    .sendEntity(activity.activityToJSON(personTemp).toString(), "/act"));

                            String[] appliancesID = applianceTemp;

                            activity.setActivityModelID(APIUtilities
                                    .sendEntity(activity.toJSON(appliancesID).toString(), "/actmod"));
                            activityTemp = activity.getActivityModelID();

                            activity.getDailyTimes().setDistributionID(APIUtilities.sendEntity(
                                    activity.getDailyTimes().toJSON(activityTemp).toString(), "/distr"));
                            activity.setDailyID(activity.getDailyTimes().getDistributionID());
                            dailyTemp = activity.getDailyID();

                            activity.getDuration().setDistributionID(APIUtilities.sendEntity(
                                    activity.getDuration().toJSON(activityTemp).toString(), "/distr"));

                            activity.setDurationID(activity.getDuration().getDistributionID());
                            durationTemp = activity.getDurationID();

                            activity.getStartTime().setDistributionID(APIUtilities.sendEntity(
                                    activity.getStartTime().toJSON(activityTemp).toString(), "/distr"));

                            activity.setStartID(activity.getStartTime().getDistributionID());
                            startTemp = activity.getStartID();

                            APIUtilities.updateEntity(activity.toJSON(appliancesID).toString(), "/actmod",
                                    activityTemp);

                        } catch (IOException | AuthenticationException | NoSuchAlgorithmException e1) {
                            e1.printStackTrace();
                        }

                    } else if (response != null) {

                    }
                }

            }

            finally {
                root.setCursor(Cursor.getDefaultCursor());
            }

            JFrame success = new JFrame();

            JOptionPane.showMessageDialog(success, "The installation model " + installation.getName()
                    + " for the base pricing scheme and all the entities contained within were exported successfully",
                    "Installation Model Exported", JOptionPane.INFORMATION_MESSAGE);

        }
    });

    exportAllResponseButton.addActionListener(new ActionListener() {
        /**
         * This function is called when the user presses the Export All Base
         * button on the Connection Properties panel of the Export Models tab. The
         * export procedure above is iterated through all the entities available
         * on the list except for the activity models.
         */
        @Override
        public void actionPerformed(ActionEvent e) {
            Component root = SwingUtilities.getRoot((JButton) e.getSource());

            try {

                root.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

                for (int i = 0; i < exportModelList.getModel().getSize(); i++) {
                    exportModelList.setSelectedIndex(i);

                    String selection = exportModelList.getSelectedValue();

                    Appliance appliance = installation.findAppliance(selection);

                    ActivityModel activity = installation.getPerson().findActivity(selection, false);

                    ResponseModel response = installation.getPerson().findResponse(selection);

                    if (selection.equalsIgnoreCase(installation.getName())) {

                        String oldName = installation.getName();

                        try {

                            installation.setName(householdNameTextField.getText() + " Response");

                            installation.setInstallationID(APIUtilities.sendEntity(
                                    installation.toJSON(APIUtilities.getUserID()).toString(), "/inst"));

                            installation.setName(oldName);

                        } catch (IOException | AuthenticationException | NoSuchAlgorithmException e1) {
                            e1.printStackTrace();
                        }

                    } else if (selection.equalsIgnoreCase(installation.getPerson().getName())) {

                        try {
                            installation.getPerson().setPersonID(APIUtilities.sendEntity(installation
                                    .getPerson().toJSON(installation.getInstallationID()).toString(), "/pers"));
                        } catch (IOException | AuthenticationException | NoSuchAlgorithmException e1) {
                            e1.printStackTrace();
                        }

                    } else if (appliance != null) {

                        try {
                            appliance.setApplianceID(APIUtilities.sendEntity(
                                    appliance.toJSON(installation.getInstallationID().toString()).toString(),
                                    "/app"));

                            APIUtilities.sendEntity(appliance.powerConsumptionModelToJSON().toString(),
                                    "/consmod");

                        } catch (IOException | AuthenticationException | NoSuchAlgorithmException e1) {
                            e1.printStackTrace();
                        }

                    } else if (activity != null) {

                    } else if (response != null) {
                        String[] applianceTemp = new String[response.getAppliancesOf().length];

                        String personTemp = "";
                        String responseTemp = "";
                        String durationTemp = "";
                        String dailyTemp = "";
                        String startTemp = "";

                        // For each appliance that participates in the activity
                        for (int j = 0; j < response.getAppliancesOf().length; j++) {

                            Appliance responseAppliance = response.getAppliancesOf()[j];

                            applianceTemp[j] = responseAppliance.getApplianceID();
                        }
                        personTemp = installation.getPerson().getPersonID();

                        try {

                            response.setActivityID(APIUtilities
                                    .sendEntity(response.activityToJSON(personTemp).toString(), "/act"));

                            String[] appliancesID = applianceTemp;

                            response.setActivityModelID(APIUtilities
                                    .sendEntity(response.toJSON(appliancesID).toString(), "/actmod"));
                            responseTemp = response.getActivityModelID();

                            response.getDailyTimes().setDistributionID(APIUtilities.sendEntity(
                                    response.getDailyTimes().toJSON(responseTemp).toString(), "/distr"));
                            response.setDailyID(response.getDailyTimes().getDistributionID());
                            dailyTemp = response.getDailyID();

                            response.getDuration().setDistributionID(APIUtilities.sendEntity(
                                    response.getDuration().toJSON(responseTemp).toString(), "/distr"));

                            response.setDurationID(response.getDuration().getDistributionID());
                            durationTemp = response.getDurationID();

                            response.getStartTime().setDistributionID(APIUtilities.sendEntity(
                                    response.getStartTime().toJSON(responseTemp).toString(), "/distr"));

                            response.setStartID(response.getStartTime().getDistributionID());
                            startTemp = response.getStartID();

                            APIUtilities.updateEntity(response.toJSON(appliancesID).toString(), "/actmod",
                                    responseTemp);

                        } catch (IOException | AuthenticationException | NoSuchAlgorithmException e1) {
                            e1.printStackTrace();
                        }
                    }
                }
            }

            finally {
                root.setCursor(Cursor.getDefaultCursor());
            }

            JFrame success = new JFrame();

            JOptionPane.showMessageDialog(success, "The installation model " + installation.getName()
                    + " for the new pricing scheme and all the entities contained within were exported successfully",
                    "Installation Model Exported", JOptionPane.INFORMATION_MESSAGE);
        }
    });
}

From source file:de.main.sessioncreator.DesktopApplication1View.java

/** This method is called from within the constructor to
 * initialize the form.//from w w  w.j a  va  2  s. com
 * WARNING: Do NOT modify this code. The content of this method is
 * always regenerated by the Form Editor.
 */
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {

    mainPanel = new JLayeredPane();
    UIManager.put("TabbedPane.selected", Color.green);
    wizardPanel = new javax.swing.JPanel();
    mainPanel.setLayer(wizardPanel, 3);
    WizardToolbar = new javax.swing.JToolBar();
    wizardbtntopNew = new javax.swing.JButton();
    wizardbtntopSave = new javax.swing.JButton();
    jSeparator2 = new javax.swing.JToolBar.Separator();
    wizardbtntopBack = new javax.swing.JButton();
    wizardbtntopNext = new javax.swing.JButton();
    jSeparator1 = new javax.swing.JToolBar.Separator();
    wizardbtntopStart = new javax.swing.JButton();
    wizardbtntopStop = new javax.swing.JButton();
    wizardtabp = new javax.swing.JTabbedPane();
    welcomePanel = new javax.swing.JPanel();
    wizardLblWelcome = new javax.swing.JLabel();
    wizardLblChooseName = new javax.swing.JLabel();
    wizardLblpathTodo = new javax.swing.JLabel();
    wizardTfPathTodo = new javax.swing.JTextField();
    wizardhCkBxSubfolder = new javax.swing.JCheckBox();
    wizardLblPathSubmitted = new javax.swing.JLabel();
    wizardTfPathSubmitted = new javax.swing.JTextField();
    wizardCmbxTester = new javax.swing.JComboBox();
    wizardbtnRefreshTester = new javax.swing.JButton();
    wizardChckBxSecondTester = new javax.swing.JCheckBox();
    wizardCmbxMoreTester = new javax.swing.JComboBox();
    charterPanel = new javax.swing.JPanel();
    wizardLblChooseCharter = new javax.swing.JLabel();
    wizardCmbxCharter = new javax.swing.JComboBox();
    wizardScrollPCharterInfo = new javax.swing.JScrollPane();
    wizardtaPreviewCharter = new javax.swing.JTextArea();
    wizardChckBxNewCharter = new javax.swing.JCheckBox();
    jScrollPane1 = new javax.swing.JScrollPane();
    wizardtaNewCharter = new javax.swing.JTextArea();
    areasPanel = new javax.swing.JPanel();
    wizardtabpAreas = new javax.swing.JTabbedPane();
    jScrollPane4 = new javax.swing.JScrollPane();
    jList2 = new javax.swing.JList();
    jScrollPane5 = new javax.swing.JScrollPane();
    jList3 = new javax.swing.JList();
    jScrollPane2 = new javax.swing.JScrollPane();
    jList1 = new javax.swing.JList();
    wizardjScrollPaneAreas = new javax.swing.JScrollPane();
    wizardtaChoosenAreas = new javax.swing.JTextArea();
    wizardLblchooseArea = new javax.swing.JLabel();
    wizardLblpathToCoverageini = new javax.swing.JLabel();
    wizardtfCoverageini = new javax.swing.JTextField();
    wizardbtnRefreshAreas = new javax.swing.JButton();
    wizardbtnRemoveArea = new javax.swing.JButton();
    wizardbtnAddAreas = new javax.swing.JButton();
    wizardbtnSaveTodo = new javax.swing.JButton();
    testsessionPanel = new javax.swing.JPanel();
    wizardLblstartTime = new javax.swing.JLabel();
    wizardPanelTaskBreakd = new javax.swing.JPanel();
    wizardLblDuration = new javax.swing.JLabel();
    wizardLblDesignExecution = new javax.swing.JLabel();
    wizardLblSetup = new javax.swing.JLabel();
    wizardLblChartervs = new javax.swing.JLabel();
    wizardtfDuration = new javax.swing.JTextField();
    wizardtfSessionSetup = new javax.swing.JTextField();
    wizardLblBugReporting = new javax.swing.JLabel();
    wizardtfBugInvestigation = new javax.swing.JTextField();
    wizardtfCharter = new javax.swing.JTextField();
    wizardLblSlash = new javax.swing.JLabel();
    wizardtfOpportunity = new javax.swing.JTextField();
    wizardLblStopfield = new javax.swing.JLabel();
    wizardtfTestDesignExecution = new javax.swing.JTextField();
    wizardLblvs = new javax.swing.JLabel();
    wizardLblOpportunity = new javax.swing.JLabel();
    wizardPanelTestsessionAreas = new javax.swing.JPanel();
    wizardScrollPaneAreas = new javax.swing.JScrollPane();
    wizardtaTestsessionAreas = new javax.swing.JTextArea();
    wizardLblcharterHeadline = new javax.swing.JLabel();
    wizardLblStart = new javax.swing.JLabel();
    wizardLblTester = new javax.swing.JLabel();
    wizardTabpDetailsDTBIR = new javax.swing.JTabbedPane();
    wizardScrollPaneDataFiles = new javax.swing.JScrollPane();
    wizardtaDataFiles = new javax.swing.JTextArea();
    wizardScrollPaneTestNotes = new javax.swing.JScrollPane();
    wizardtaTestNotes = new javax.swing.JTextArea();
    wizardScrollPaneBugs = new javax.swing.JScrollPane();
    wizardtaBugs = new javax.swing.JTextArea();
    wizardScrollPaneIssues = new javax.swing.JScrollPane();
    wizardtaIssues = new javax.swing.JTextArea();
    wizardScrollPaneReview = new javax.swing.JScrollPane();
    wizardtaReview = new javax.swing.JTextArea();
    wizardtfNameOfTester = new javax.swing.JTextField();
    jScrollPane3 = new javax.swing.JScrollPane();
    wizardtaCharterdynamic = new javax.swing.JTextArea();
    wizardbtnBack = new javax.swing.JButton();
    wizardbtnStart = new javax.swing.JButton();
    wizardbtnStop = new javax.swing.JButton();
    wizardbtnSave = new javax.swing.JButton();
    wizardbtnNext = new javax.swing.JButton();
    wizardbtnNew = new javax.swing.JButton();
    viewReviewsPanel = new javax.swing.JPanel();
    mainPanel.setLayer(viewReviewsPanel, 1);
    ReviewToolbar = new javax.swing.JToolBar();
    reviewbtntopSave = new javax.swing.JButton();
    jSeparator3 = new javax.swing.JToolBar.Separator();
    reviewbtntopBack = new javax.swing.JButton();
    reviewbtntopNext = new javax.swing.JButton();
    reviewbtntopMove = new javax.swing.JButton();
    reviewViewlabel = new javax.swing.JLabel();
    reviewSessionsTabp = new javax.swing.JTabbedPane();
    reviewToreviewSessionsPanel = new javax.swing.JPanel();
    reviewCmbxSessiontoReview = new javax.swing.JComboBox();
    reviewtoReviewPanel = new javax.swing.JPanel();
    reviewViewPanel = new javax.swing.JPanel();
    reviewLblStartTime = new javax.swing.JLabel();
    reviewPaneTaskbreakdown = new javax.swing.JPanel();
    reviewLblDuration = new javax.swing.JLabel();
    reviewLblTestExecution = new javax.swing.JLabel();
    reviewLblSetup = new javax.swing.JLabel();
    reviewLblChartervs = new javax.swing.JLabel();
    reviewtfDuration = new javax.swing.JTextField();
    reviewtfSessionSetup = new javax.swing.JTextField();
    reviewLblBugReporting = new javax.swing.JLabel();
    reviewtfBugInvestigation = new javax.swing.JTextField();
    reviewtfCharter = new javax.swing.JTextField();
    reviewtfTestDesignExecution = new javax.swing.JTextField();
    reviewLblvs = new javax.swing.JLabel();
    reviewLblOpportunity = new javax.swing.JLabel();
    reviewPanelTestsessionAreas = new javax.swing.JPanel();
    reviewScrollPaneArea = new javax.swing.JScrollPane();
    reviewtaTestsessionAreasReview = new javax.swing.JTextArea();
    reviewCharterHeadlineLabel = new javax.swing.JLabel();
    reviewLblStart = new javax.swing.JLabel();
    reviewLblTester = new javax.swing.JLabel();
    reviewTabpDTBIR = new javax.swing.JTabbedPane();
    reviewScrollPaneDatafile = new javax.swing.JScrollPane();
    reviewtaDataFiles = new javax.swing.JTextArea();
    reviewScrollPaneTestNotes = new javax.swing.JScrollPane();
    reviewtaTestNotes = new javax.swing.JTextArea();
    reviewScrollPaneBugs = new javax.swing.JScrollPane();
    reviewedipaneBugs = new javax.swing.JEditorPane();
    reviewScrollPaneIssues = new javax.swing.JScrollPane();
    reviewtaIssues = new javax.swing.JTextArea();
    reviewScrollPaneReview = new javax.swing.JScrollPane();
    reviewtaReview = new javax.swing.JTextArea();
    reviewtfNameOfTester = new javax.swing.JTextField();
    jScrollPane6 = new javax.swing.JScrollPane();
    reviewtaCharterdynamic = new javax.swing.JTextArea();
    reviewbtnNext = new javax.swing.JButton();
    reviewbtnBack = new javax.swing.JButton();
    reviewbtnSave = new javax.swing.JButton();
    reviewbtnMove = new javax.swing.JButton();
    reportPanel = new javax.swing.JPanel();
    mainPanel.setLayer(reportPanel, 2);
    reportChartPanel = new javax.swing.JPanel();
    reportScrollPOverviewTabel = new javax.swing.JScrollPane();
    reportOverviewTable = new javax.swing.JTable();
    reportlblSum = new javax.swing.JLabel();
    reportlblBug = new javax.swing.JLabel();
    reportlblIssue = new javax.swing.JLabel();
    menuBar = new javax.swing.JMenuBar();
    javax.swing.JMenu fileMenu = new javax.swing.JMenu();
    saveMenuItem = new javax.swing.JMenuItem();
    javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
    sessionMenu = new javax.swing.JMenu();
    sessionWizardMenuItem = new javax.swing.JMenuItem();
    reviewVieMenuItem = new javax.swing.JMenuItem();
    sessionReportMenuItem = new javax.swing.JMenuItem();
    javax.swing.JMenu helpMenu = new javax.swing.JMenu();
    javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
    helpMenuItem = new javax.swing.JMenuItem();
    statusPanel = new javax.swing.JPanel();
    javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();
    statusMessageLabel = new javax.swing.JLabel();
    statusAnimationLabel = new javax.swing.JLabel();
    progressBar = new javax.swing.JProgressBar();
    wizardPopUpBugTab = new javax.swing.JPopupMenu();
    wizardPopUpIssueTab = new javax.swing.JPopupMenu();

    mainPanel.setMaximumSize(new java.awt.Dimension(990, 900));
    mainPanel.setMinimumSize(new java.awt.Dimension(900, 500));
    mainPanel.setName("mainPanel"); // NOI18N
    mainPanel.setPreferredSize(new java.awt.Dimension(990, 500));

    wizardPanel.setMaximumSize(new java.awt.Dimension(990, 900));
    wizardPanel.setMinimumSize(new java.awt.Dimension(990, 500));
    wizardPanel.setName("wizardPanel"); // NOI18N
    wizardPanel.setPreferredSize(new java.awt.Dimension(990, 500));

    WizardToolbar.setFloatable(false);
    WizardToolbar.setRollover(true);
    WizardToolbar.setName("WizardToolbar"); // NOI18N

    org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application
            .getInstance(de.main.sessioncreator.DesktopApplication1.class).getContext()
            .getResourceMap(DesktopApplication1View.class);
    wizardbtntopNew.setIcon(resourceMap.getIcon("wizardbtntopNew.icon")); // NOI18N
    wizardbtntopNew.setToolTipText(resourceMap.getString("wizardbtntopNew.toolTipText")); // NOI18N
    wizardbtntopNew.setDisabledIcon(resourceMap.getIcon("wizardbtntopNew.disabledIcon")); // NOI18N
    wizardbtntopNew.setFocusable(false);
    wizardbtntopNew.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
    wizardbtntopNew.setName("wizardbtntopNew"); // NOI18N
    wizardbtntopNew.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    wizardbtntopNew.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            wizardbtntopNewMouseClicked(evt);
        }
    });
    WizardToolbar.add(wizardbtntopNew);

    javax.swing.ActionMap actionMap = org.jdesktop.application.Application
            .getInstance(de.main.sessioncreator.DesktopApplication1.class).getContext()
            .getActionMap(DesktopApplication1View.class, this);
    wizardbtntopSave.setAction(actionMap.get("saveTestsession")); // NOI18N
    wizardbtntopSave.setIcon(resourceMap.getIcon("wizardbtntopSave.icon")); // NOI18N
    wizardbtntopSave.setToolTipText(resourceMap.getString("wizardbtntopSave.toolTipText")); // NOI18N
    wizardbtntopSave.setDisabledIcon(resourceMap.getIcon("wizardbtntopSave.disabledIcon")); // NOI18N
    wizardbtntopSave.setFocusable(false);
    wizardbtntopSave.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
    wizardbtntopSave.setName("wizardbtntopSave"); // NOI18N
    wizardbtntopSave.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    wizardbtntopSave.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            wizardbtntopSaveMouseClicked(evt);
        }
    });
    WizardToolbar.add(wizardbtntopSave);

    jSeparator2.setName("jSeparator2"); // NOI18N
    WizardToolbar.add(jSeparator2);

    wizardbtntopBack.setIcon(resourceMap.getIcon("wizardbtntopBack.icon")); // NOI18N
    wizardbtntopBack.setToolTipText(resourceMap.getString("wizardbtntopBack.toolTipText")); // NOI18N
    wizardbtntopBack.setDisabledIcon(resourceMap.getIcon("wizardbtntopBack.disabledIcon")); // NOI18N
    wizardbtntopBack.setEnabled(false);
    wizardbtntopBack.setFocusable(false);
    wizardbtntopBack.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
    wizardbtntopBack.setName("wizardbtntopBack"); // NOI18N
    wizardbtntopBack.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    wizardbtntopBack.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            wizardbtntopBackActionPerformed(evt);
        }
    });
    WizardToolbar.add(wizardbtntopBack);

    wizardbtntopNext.setIcon(resourceMap.getIcon("wizardbtntopNext.icon")); // NOI18N
    wizardbtntopNext.setToolTipText(resourceMap.getString("wizardbtntopNext.toolTipText")); // NOI18N
    wizardbtntopNext.setDisabledIcon(resourceMap.getIcon("wizardbtntopNext.disabledIcon")); // NOI18N
    wizardbtntopNext.setFocusable(false);
    wizardbtntopNext.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
    wizardbtntopNext.setMaximumSize(new java.awt.Dimension(23, 23));
    wizardbtntopNext.setMinimumSize(new java.awt.Dimension(23, 23));
    wizardbtntopNext.setName("wizardbtntopNext"); // NOI18N
    wizardbtntopNext.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            wizardbtntopNextActionPerformed(evt);
        }
    });
    WizardToolbar.add(wizardbtntopNext);

    jSeparator1.setName("jSeparator1"); // NOI18N
    WizardToolbar.add(jSeparator1);

    wizardbtntopStart.setIcon(resourceMap.getIcon("wizardbtntopStart.icon")); // NOI18N
    wizardbtntopStart.setToolTipText(resourceMap.getString("wizardbtntopStart.toolTipText")); // NOI18N
    wizardbtntopStart.setDisabledIcon(resourceMap.getIcon("wizardbtntopStart.disabledIcon")); // NOI18N
    wizardbtntopStart.setEnabled(false);
    wizardbtntopStart.setFocusable(false);
    wizardbtntopStart.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
    wizardbtntopStart.setName("wizardbtntopStart"); // NOI18N
    wizardbtntopStart.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    WizardToolbar.add(wizardbtntopStart);

    wizardbtntopStop.setIcon(resourceMap.getIcon("wizardbtntopStop.icon")); // NOI18N
    wizardbtntopStop.setToolTipText(resourceMap.getString("wizardbtntopStop.toolTipText")); // NOI18N
    wizardbtntopStop.setDisabledIcon(resourceMap.getIcon("wizardbtntopStop.disabledIcon")); // NOI18N
    wizardbtntopStop.setEnabled(false);
    wizardbtntopStop.setFocusable(false);
    wizardbtntopStop.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
    wizardbtntopStop.setName("wizardbtntopStop"); // NOI18N
    wizardbtntopStop.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    WizardToolbar.add(wizardbtntopStop);

    wizardtabp.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT);
    wizardtabp.setName("jTabSessionWizard"); // NOI18N
    wizardtabp.setPreferredSize(new java.awt.Dimension(990, 552));

    welcomePanel.setMaximumSize(new java.awt.Dimension(1000, 1000));
    welcomePanel.setName("jPanelWelcome"); // NOI18N

    wizardLblWelcome.setFont(resourceMap.getFont("wizardLblWelcome.font")); // NOI18N
    wizardLblWelcome.setText(resourceMap.getString("wizardLblWelcome.text")); // NOI18N
    wizardLblWelcome.setName("wizardLblWelcome"); // NOI18N

    wizardLblChooseName.setText(resourceMap.getString("wizardLblChooseName.text")); // NOI18N
    wizardLblChooseName.setName("wizardLblChooseName"); // NOI18N

    wizardLblpathTodo.setText(resourceMap.getString("wizardLblpathTodo.text")); // NOI18N
    wizardLblpathTodo.setName("wizardLblpathTodo"); // NOI18N

    wizardTfPathTodo.setText(resourceMap.getString("jTxtFieldTodoSession.text")); // NOI18N
    wizardTfPathTodo.setName("jTxtFieldTodoSession"); // NOI18N

    wizardhCkBxSubfolder.setText(resourceMap.getString("jChckBxUnterordner.text")); // NOI18N
    wizardhCkBxSubfolder.setName("jChckBxUnterordner"); // NOI18N

    wizardLblPathSubmitted.setText(resourceMap.getString("wizardLblPathSubmitted.text")); // NOI18N
    wizardLblPathSubmitted.setName("wizardLblPathSubmitted"); // NOI18N

    wizardTfPathSubmitted.setText(resourceMap.getString("jTxtFieldSubmitted.text")); // NOI18N
    wizardTfPathSubmitted.setName("jTxtFieldSubmitted"); // NOI18N

    wizardCmbxTester.setName("wizardCmbxTester"); // NOI18N

    wizardbtnRefreshTester.setText(resourceMap.getString("wizardbtnRefreshTester.text")); // NOI18N
    wizardbtnRefreshTester.setName("wizardbtnRefreshTester"); // NOI18N
    wizardbtnRefreshTester.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            jButtonRefreshTester(evt);
        }
    });

    wizardChckBxSecondTester.setText(resourceMap.getString("wizardChckBxSecondTester.text")); // NOI18N
    wizardChckBxSecondTester.setName("wizardChckBxSecondTester"); // NOI18N

    wizardCmbxMoreTester.setName("wizardCmbxMoreTester"); // NOI18N

    javax.swing.GroupLayout welcomePanelLayout = new javax.swing.GroupLayout(welcomePanel);
    welcomePanel.setLayout(welcomePanelLayout);
    welcomePanelLayout.setHorizontalGroup(welcomePanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(welcomePanelLayout.createSequentialGroup().addContainerGap().addGroup(welcomePanelLayout
                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(wizardLblWelcome)
                    .addGroup(welcomePanelLayout.createSequentialGroup().addGroup(
                            welcomePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(wizardLblpathTodo).addComponent(wizardLblPathSubmitted))
                            .addGap(18, 18, 18)
                            .addGroup(welcomePanelLayout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(wizardTfPathTodo, javax.swing.GroupLayout.DEFAULT_SIZE, 561,
                                            Short.MAX_VALUE)
                                    .addComponent(wizardhCkBxSubfolder).addComponent(wizardTfPathSubmitted)))
                    .addGroup(welcomePanelLayout.createSequentialGroup().addGroup(
                            welcomePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(wizardLblChooseName).addComponent(wizardChckBxSecondTester))
                            .addGap(24, 24, 24)
                            .addGroup(welcomePanelLayout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(wizardCmbxMoreTester, 0, javax.swing.GroupLayout.DEFAULT_SIZE,
                                            Short.MAX_VALUE)
                                    .addComponent(wizardCmbxTester, 0, 300, Short.MAX_VALUE))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(wizardbtnRefreshTester)))
                    .addContainerGap(274, Short.MAX_VALUE)));
    welcomePanelLayout.setVerticalGroup(welcomePanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(welcomePanelLayout.createSequentialGroup().addContainerGap()
                    .addComponent(wizardLblWelcome).addGap(11, 11, 11)
                    .addGroup(welcomePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(wizardLblChooseName)
                            .addComponent(wizardCmbxTester, javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(wizardbtnRefreshTester))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(welcomePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(wizardChckBxSecondTester).addComponent(wizardCmbxMoreTester,
                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(26, 26, 26)
                    .addGroup(welcomePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(wizardLblpathTodo).addComponent(wizardTfPathTodo,
                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(wizardhCkBxSubfolder)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(welcomePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(wizardLblPathSubmitted).addComponent(wizardTfPathSubmitted,
                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(398, Short.MAX_VALUE)));

    wizardtabp.addTab(resourceMap.getString("jPanelWelcome.TabConstraints.tabTitle"), welcomePanel); // NOI18N

    charterPanel.setName("jPanelCharter"); // NOI18N

    wizardLblChooseCharter.setText(resourceMap.getString("wizardLblChooseCharter.text")); // NOI18N
    wizardLblChooseCharter.setName("wizardLblChooseCharter"); // NOI18N

    wizardCmbxCharter.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Select one" }));
    wizardCmbxCharter.setName("jComboBxCharter"); // NOI18N
    wizardCmbxCharter.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            ChooseCharterjCombobox1(evt);
        }
    });

    wizardScrollPCharterInfo.setName("wizardScrollPCharterInfo"); // NOI18N

    wizardtaPreviewCharter.setBackground(resourceMap.getColor("wizardtaPreviewCharter.background")); // NOI18N
    wizardtaPreviewCharter.setColumns(20);
    wizardtaPreviewCharter.setLineWrap(true);
    wizardtaPreviewCharter.setRows(5);
    wizardtaPreviewCharter.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
    wizardtaPreviewCharter.setEnabled(false);
    wizardtaPreviewCharter.setName("wizardtaPreviewCharter"); // NOI18N
    wizardScrollPCharterInfo.setViewportView(wizardtaPreviewCharter);

    wizardChckBxNewCharter.setText(resourceMap.getString("wizardChckBxNewCharter.text")); // NOI18N
    wizardChckBxNewCharter.setToolTipText(resourceMap.getString("wizardChckBxNewCharter.toolTipText")); // NOI18N
    wizardChckBxNewCharter.setName("wizardChckBxNewCharter"); // NOI18N

    jScrollPane1.setName("jScrollPane1"); // NOI18N

    wizardtaNewCharter.setColumns(20);
    wizardtaNewCharter.setEditable(false);
    wizardtaNewCharter.setLineWrap(true);
    wizardtaNewCharter.setRows(5);
    wizardtaNewCharter.setWrapStyleWord(true);
    wizardtaNewCharter.setEnabled(false);
    wizardtaNewCharter.setName("wizardtaNewCharter"); // NOI18N
    jScrollPane1.setViewportView(wizardtaNewCharter);

    javax.swing.GroupLayout charterPanelLayout = new javax.swing.GroupLayout(charterPanel);
    charterPanel.setLayout(charterPanelLayout);
    charterPanelLayout.setHorizontalGroup(charterPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(charterPanelLayout.createSequentialGroup().addContainerGap()
                    .addGroup(charterPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(wizardChckBxNewCharter).addComponent(wizardLblChooseCharter)
                            .addComponent(wizardCmbxCharter, 0, 975, Short.MAX_VALUE)
                            .addComponent(wizardScrollPCharterInfo, javax.swing.GroupLayout.DEFAULT_SIZE, 975,
                                    Short.MAX_VALUE)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, 975, Short.MAX_VALUE))
                    .addContainerGap()));
    charterPanelLayout.setVerticalGroup(charterPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(charterPanelLayout.createSequentialGroup().addContainerGap()
                    .addComponent(wizardLblChooseCharter)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(wizardCmbxCharter, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(wizardScrollPCharterInfo, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(18, 18, 18).addComponent(wizardChckBxNewCharter)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(304, Short.MAX_VALUE)));

    wizardtabp.addTab(resourceMap.getString("jPanelCharter.TabConstraints.tabTitle"), charterPanel); // NOI18N

    areasPanel.setName("areasPanel"); // NOI18N

    wizardtabpAreas.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT);
    wizardtabpAreas.setToolTipText(resourceMap.getString("wizardtabpAreas.toolTipText")); // NOI18N
    wizardtabpAreas.setName("wizardtabpAreas"); // NOI18N

    jScrollPane4.setName("jScrollPane4"); // NOI18N

    jList2.setName("jList2"); // NOI18N
    jScrollPane4.setViewportView(jList2);

    wizardtabpAreas.addTab(resourceMap.getString("jScrollPane4.TabConstraints.tabTitle"), jScrollPane4); // NOI18N

    jScrollPane5.setName("jScrollPane5"); // NOI18N

    jList3.setName("jList3"); // NOI18N
    jScrollPane5.setViewportView(jList3);

    wizardtabpAreas.addTab(resourceMap.getString("jScrollPane5.TabConstraints.tabTitle"), jScrollPane5); // NOI18N

    jScrollPane2.setName("jScrollPane2"); // NOI18N

    jList1.setName("jList1"); // NOI18N
    jScrollPane2.setViewportView(jList1);

    wizardtabpAreas.addTab(resourceMap.getString("jScrollPane2.TabConstraints.tabTitle"), jScrollPane2); // NOI18N

    wizardjScrollPaneAreas.setName("wizardjScrollPaneAreas"); // NOI18N

    wizardtaChoosenAreas.setColumns(20);
    wizardtaChoosenAreas.setRows(5);
    wizardtaChoosenAreas.setName("wizardtaChoosenAreas"); // NOI18N
    wizardjScrollPaneAreas.setViewportView(wizardtaChoosenAreas);

    wizardLblchooseArea.setFont(resourceMap.getFont("wizardLblchooseArea.font")); // NOI18N
    wizardLblchooseArea.setText(resourceMap.getString("wizardLblchooseArea.text")); // NOI18N
    wizardLblchooseArea.setName("wizardLblchooseArea"); // NOI18N

    wizardLblpathToCoverageini.setText(resourceMap.getString("wizardLblpathToCoverageini.text")); // NOI18N
    wizardLblpathToCoverageini.setName("wizardLblpathToCoverageini"); // NOI18N

    wizardtfCoverageini.setText(resourceMap.getString("wizardtfCoverageini.text")); // NOI18N
    wizardtfCoverageini.setName("wizardtfCoverageini"); // NOI18N

    wizardbtnRefreshAreas.setText(resourceMap.getString("wizardbtnRefreshAreas.text")); // NOI18N
    wizardbtnRefreshAreas.setName("wizardbtnRefreshAreas"); // NOI18N
    wizardbtnRefreshAreas.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            wizardbtnRefreshAreasMouseClicked(evt);
        }
    });

    wizardbtnRemoveArea.setText(resourceMap.getString("wizardbtnRemoveArea.text")); // NOI18N
    wizardbtnRemoveArea.setToolTipText(resourceMap.getString("wizardbtnRemoveArea.toolTipText")); // NOI18N
    wizardbtnRemoveArea.setMaximumSize(new java.awt.Dimension(41, 23));
    wizardbtnRemoveArea.setMinimumSize(new java.awt.Dimension(41, 23));
    wizardbtnRemoveArea.setName("wizardbtnRemoveArea"); // NOI18N
    wizardbtnRemoveArea.setPreferredSize(new java.awt.Dimension(41, 23));
    wizardbtnRemoveArea.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            wizardbtnRemoveAreaMouseClicked(evt);
        }
    });

    wizardbtnAddAreas.setText(resourceMap.getString("wizardbtnAddAreas.text")); // NOI18N
    wizardbtnAddAreas.setToolTipText(resourceMap.getString("wizardbtnAddAreas.toolTipText")); // NOI18N
    wizardbtnAddAreas.setName("wizardbtnAddAreas"); // NOI18N

    wizardbtnSaveTodo.setText(resourceMap.getString("wizardbtnSaveTodo.text")); // NOI18N
    wizardbtnSaveTodo.setToolTipText(resourceMap.getString("wizardbtnSaveTodo.toolTipText")); // NOI18N
    wizardbtnSaveTodo.setEnabled(false);
    wizardbtnSaveTodo.setName("wizardbtnSaveTodo"); // NOI18N
    wizardbtnSaveTodo.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            wizardbtnSaveTodoActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout areasPanelLayout = new javax.swing.GroupLayout(areasPanel);
    areasPanel.setLayout(areasPanelLayout);
    areasPanelLayout.setHorizontalGroup(areasPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(areasPanelLayout.createSequentialGroup().addContainerGap().addGroup(areasPanelLayout
                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(wizardtabpAreas, javax.swing.GroupLayout.DEFAULT_SIZE, 975, Short.MAX_VALUE)
                    .addGroup(areasPanelLayout.createSequentialGroup().addComponent(wizardLblchooseArea)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 746,
                                    Short.MAX_VALUE)
                            .addComponent(wizardbtnSaveTodo))
                    .addGroup(areasPanelLayout.createSequentialGroup().addComponent(wizardLblpathToCoverageini)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(wizardtfCoverageini, javax.swing.GroupLayout.PREFERRED_SIZE, 248,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(wizardbtnRefreshAreas))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            areasPanelLayout.createSequentialGroup()
                                    .addComponent(wizardjScrollPaneAreas, javax.swing.GroupLayout.DEFAULT_SIZE,
                                            924, Short.MAX_VALUE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addGroup(areasPanelLayout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                            .addComponent(wizardbtnAddAreas).addComponent(wizardbtnRemoveArea,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE))))
                    .addContainerGap()));
    areasPanelLayout.setVerticalGroup(areasPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(areasPanelLayout.createSequentialGroup().addContainerGap()
                    .addGroup(areasPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(wizardLblchooseArea).addComponent(wizardbtnSaveTodo))
                    .addGap(18, 18, 18)
                    .addGroup(areasPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(wizardLblpathToCoverageini)
                            .addComponent(wizardtfCoverageini, javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(wizardbtnRefreshAreas))
                    .addGap(11, 11, 11)
                    .addComponent(wizardtabpAreas, javax.swing.GroupLayout.DEFAULT_SIZE, 261, Short.MAX_VALUE)
                    .addGap(18, 18, 18)
                    .addGroup(areasPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING,
                                    areasPanelLayout.createSequentialGroup().addComponent(wizardbtnAddAreas)
                                            .addPreferredGap(
                                                    javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                            .addComponent(wizardbtnRemoveArea,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(wizardjScrollPaneAreas, javax.swing.GroupLayout.DEFAULT_SIZE, 220,
                                    Short.MAX_VALUE))
                    .addContainerGap()));

    wizardtabpAreas.getAccessibleContext().setAccessibleParent(welcomePanel);

    wizardtabp.addTab(resourceMap.getString("areasPanel.TabConstraints.tabTitle"), areasPanel); // NOI18N

    testsessionPanel.setFocusable(false);
    testsessionPanel.setName("testsessionPanel"); // NOI18N

    wizardLblstartTime.setText(resourceMap.getString("wizardLblstartTime.text")); // NOI18N
    wizardLblstartTime.setName("wizardLblstartTime"); // NOI18N

    wizardPanelTaskBreakd.setBorder(
            javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(),
                    resourceMap.getString("wizardPanelTaskBreakd.border.title"),
                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                    javax.swing.border.TitledBorder.DEFAULT_POSITION,
                    resourceMap.getFont("wizardPanelTaskBreakd.border.titleFont"))); // NOI18N
    wizardPanelTaskBreakd.setName("wizardPanelTaskBreakd"); // NOI18N

    wizardLblDuration.setText(resourceMap.getString("wizardLblDuration.text")); // NOI18N
    wizardLblDuration.setName("wizardLblDuration"); // NOI18N

    wizardLblDesignExecution.setText(resourceMap.getString("wizardLblDesignExecution.text")); // NOI18N
    wizardLblDesignExecution.setName("wizardLblDesignExecution"); // NOI18N

    wizardLblSetup.setText(resourceMap.getString("wizardLblSetup.text")); // NOI18N
    wizardLblSetup.setName("wizardLblSetup"); // NOI18N

    wizardLblChartervs.setText(resourceMap.getString("wizardLblChartervs.text")); // NOI18N
    wizardLblChartervs.setName("wizardLblChartervs"); // NOI18N

    wizardtfDuration.setEditable(false);
    wizardtfDuration.setText(resourceMap.getString("wizardtfDuration.text")); // NOI18N
    wizardtfDuration.setName("wizardtfDuration"); // NOI18N

    wizardtfSessionSetup.setText(resourceMap.getString("wizardtfSessionSetup.text")); // NOI18N
    wizardtfSessionSetup.setName("wizardtfSessionSetup"); // NOI18N

    wizardLblBugReporting.setText(resourceMap.getString("wizardLblBugReporting.text")); // NOI18N
    wizardLblBugReporting.setName("wizardLblBugReporting"); // NOI18N

    wizardtfBugInvestigation.setText(resourceMap.getString("wizardtfBugInvestigation.text")); // NOI18N
    wizardtfBugInvestigation.setName("wizardtfBugInvestigation"); // NOI18N

    wizardtfCharter.setText(resourceMap.getString("wizardtfCharter.text")); // NOI18N
    wizardtfCharter.setName("wizardtfCharter"); // NOI18N

    wizardLblSlash.setText(resourceMap.getString("wizardLblSlash.text")); // NOI18N
    wizardLblSlash.setName("wizardLblSlash"); // NOI18N

    wizardtfOpportunity.setText(resourceMap.getString("wizardtfOpportunity.text")); // NOI18N
    wizardtfOpportunity.setName("wizardtfOpportunity"); // NOI18N

    wizardLblStopfield.setFont(resourceMap.getFont("wizardLblStopfield.font")); // NOI18N
    wizardLblStopfield.setForeground(resourceMap.getColor("wizardLblStopfield.foreground")); // NOI18N
    wizardLblStopfield.setText(resourceMap.getString("wizardLblStopfield.text")); // NOI18N
    wizardLblStopfield.setName("wizardLblStopfield"); // NOI18N

    wizardtfTestDesignExecution.setText(resourceMap.getString("wizardtfTestDesignExecution.text")); // NOI18N
    wizardtfTestDesignExecution.setName("wizardtfTestDesignExecution"); // NOI18N

    wizardLblvs.setText(resourceMap.getString("wizardLblvs.text")); // NOI18N
    wizardLblvs.setName("wizardLblvs"); // NOI18N

    wizardLblOpportunity.setText(resourceMap.getString("wizardLblOpportunity.text")); // NOI18N
    wizardLblOpportunity.setName("wizardLblOpportunity"); // NOI18N

    javax.swing.GroupLayout wizardPanelTaskBreakdLayout = new javax.swing.GroupLayout(wizardPanelTaskBreakd);
    wizardPanelTaskBreakd.setLayout(wizardPanelTaskBreakdLayout);
    wizardPanelTaskBreakdLayout.setHorizontalGroup(
            wizardPanelTaskBreakdLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(wizardPanelTaskBreakdLayout.createSequentialGroup()
                            .addGroup(wizardPanelTaskBreakdLayout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(wizardPanelTaskBreakdLayout.createSequentialGroup()
                                            .addComponent(wizardLblChartervs)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(wizardLblvs)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(wizardLblOpportunity))
                                    .addComponent(wizardtfBugInvestigation,
                                            javax.swing.GroupLayout.PREFERRED_SIZE, 100,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGroup(wizardPanelTaskBreakdLayout.createSequentialGroup()
                                            .addComponent(wizardtfCharter,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE, 40,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(wizardLblSlash)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(wizardtfOpportunity,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE, 40,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(wizardPanelTaskBreakdLayout.createSequentialGroup()
                                            .addComponent(wizardLblDuration)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(wizardLblStopfield))
                                    .addComponent(wizardtfDuration, javax.swing.GroupLayout.PREFERRED_SIZE, 100,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(wizardLblDesignExecution).addComponent(wizardLblSetup)
                                    .addComponent(wizardtfSessionSetup, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            100, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(wizardLblBugReporting).addComponent(
                                            wizardtfTestDesignExecution, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            100, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addContainerGap(172, Short.MAX_VALUE)));
    wizardPanelTaskBreakdLayout.setVerticalGroup(wizardPanelTaskBreakdLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, wizardPanelTaskBreakdLayout
                    .createSequentialGroup()
                    .addGroup(wizardPanelTaskBreakdLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(wizardLblDuration).addComponent(wizardLblStopfield))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(wizardtfDuration, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(wizardLblDesignExecution)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(wizardtfTestDesignExecution, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(wizardLblSetup).addGap(9, 9, 9)
                    .addComponent(wizardtfSessionSetup, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(wizardLblBugReporting)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(wizardtfBugInvestigation, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(wizardPanelTaskBreakdLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(wizardLblChartervs).addComponent(wizardLblvs)
                            .addComponent(wizardLblOpportunity))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(wizardPanelTaskBreakdLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(wizardtfCharter, javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(wizardLblSlash).addComponent(wizardtfOpportunity,
                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

    wizardPanelTestsessionAreas.setBorder(
            javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(),
                    resourceMap.getString("wizardPanelTestsessionAreas.border.title"),
                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                    javax.swing.border.TitledBorder.DEFAULT_POSITION,
                    resourceMap.getFont("wizardPanelTestsessionAreas.border.titleFont"))); // NOI18N
    wizardPanelTestsessionAreas.setName("wizardPanelTestsessionAreas"); // NOI18N

    wizardScrollPaneAreas.setName("wizardScrollPaneAreas"); // NOI18N

    wizardtaTestsessionAreas.setColumns(20);
    wizardtaTestsessionAreas.setRows(5);
    wizardtaTestsessionAreas.setName("wizardtaTestsessionAreas"); // NOI18N
    wizardScrollPaneAreas.setViewportView(wizardtaTestsessionAreas);

    javax.swing.GroupLayout wizardPanelTestsessionAreasLayout = new javax.swing.GroupLayout(
            wizardPanelTestsessionAreas);
    wizardPanelTestsessionAreas.setLayout(wizardPanelTestsessionAreasLayout);
    wizardPanelTestsessionAreasLayout.setHorizontalGroup(
            wizardPanelTestsessionAreasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(wizardPanelTestsessionAreasLayout
                            .createSequentialGroup().addComponent(wizardScrollPaneAreas,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, 317, Short.MAX_VALUE)
                            .addContainerGap()));
    wizardPanelTestsessionAreasLayout.setVerticalGroup(
            wizardPanelTestsessionAreasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(wizardPanelTestsessionAreasLayout
                            .createSequentialGroup().addComponent(wizardScrollPaneAreas,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, 167, Short.MAX_VALUE)
                            .addContainerGap()));

    wizardLblcharterHeadline.setFont(resourceMap.getFont("wizardLblcharterHeadline.font")); // NOI18N
    wizardLblcharterHeadline.setText(resourceMap.getString("wizardLblcharterHeadline.text")); // NOI18N
    wizardLblcharterHeadline.setName("wizardLblcharterHeadline"); // NOI18N

    wizardLblStart.setFont(resourceMap.getFont("wizardLblStart.font")); // NOI18N
    wizardLblStart.setText(resourceMap.getString("wizardLblStart.text")); // NOI18N
    wizardLblStart.setName("wizardLblStart"); // NOI18N

    wizardLblTester.setFont(resourceMap.getFont("wizardLblTester.font")); // NOI18N
    wizardLblTester.setText(resourceMap.getString("wizardLblTester.text")); // NOI18N
    wizardLblTester.setName("wizardLblTester"); // NOI18N

    wizardTabpDetailsDTBIR.setName("wizardTabpDetailsDTBIR"); // NOI18N

    wizardScrollPaneDataFiles.setName("wizardScrollPaneDataFiles"); // NOI18N

    wizardtaDataFiles.setColumns(20);
    wizardtaDataFiles.setLineWrap(true);
    wizardtaDataFiles.setRows(5);
    wizardtaDataFiles.setName("wizardtaDataFiles"); // NOI18N
    wizardScrollPaneDataFiles.setViewportView(wizardtaDataFiles);

    wizardTabpDetailsDTBIR.addTab(resourceMap.getString("wizardScrollPaneDataFiles.TabConstraints.tabTitle"),
            wizardScrollPaneDataFiles); // NOI18N

    wizardScrollPaneTestNotes.setName("wizardScrollPaneTestNotes"); // NOI18N

    wizardtaTestNotes.setColumns(20);
    wizardtaTestNotes.setFont(resourceMap.getFont("wizardtaTestNotes.font")); // NOI18N
    wizardtaTestNotes.setLineWrap(true);
    wizardtaTestNotes.setRows(5);
    wizardtaTestNotes.setWrapStyleWord(true);
    wizardtaTestNotes.setName("wizardtaTestNotes"); // NOI18N
    wizardScrollPaneTestNotes.setViewportView(wizardtaTestNotes);

    wizardTabpDetailsDTBIR.addTab(resourceMap.getString("wizardScrollPaneTestNotes.TabConstraints.tabTitle"),
            wizardScrollPaneTestNotes); // NOI18N

    wizardScrollPaneBugs.setName("wizardScrollPaneBugs"); // NOI18N

    wizardtaBugs.setColumns(20);
    wizardtaBugs.setFont(resourceMap.getFont("wizardtaBugs.font")); // NOI18N
    wizardtaBugs.setLineWrap(true);
    wizardtaBugs.setRows(5);
    wizardtaBugs.setWrapStyleWord(true);
    wizardtaBugs.setComponentPopupMenu(wizardPopUpBugTab);
    wizardtaBugs.setName("wizardtaBugs"); // NOI18N
    wizardScrollPaneBugs.setViewportView(wizardtaBugs);

    wizardTabpDetailsDTBIR.addTab(resourceMap.getString("wizardScrollPaneBugs.TabConstraints.tabTitle"),
            wizardScrollPaneBugs); // NOI18N

    wizardScrollPaneIssues.setName("wizardScrollPaneIssues"); // NOI18N

    wizardtaIssues.setColumns(20);
    wizardtaIssues.setFont(resourceMap.getFont("wizardtaIssues.font")); // NOI18N
    wizardtaIssues.setLineWrap(true);
    wizardtaIssues.setRows(5);
    wizardtaIssues.setWrapStyleWord(true);
    wizardtaIssues.setName("wizardtaIssues"); // NOI18N
    wizardScrollPaneIssues.setViewportView(wizardtaIssues);

    wizardTabpDetailsDTBIR.addTab(resourceMap.getString("wizardScrollPaneIssues.TabConstraints.tabTitle"),
            wizardScrollPaneIssues); // NOI18N

    wizardScrollPaneReview.setName("wizardScrollPaneReview"); // NOI18N

    wizardtaReview.setBackground(resourceMap.getColor("wizardtaReview.background")); // NOI18N
    wizardtaReview.setColumns(20);
    wizardtaReview.setEditable(false);
    wizardtaReview.setRows(5);
    wizardtaReview.setToolTipText(resourceMap.getString("wizardtaReview.toolTipText")); // NOI18N
    wizardtaReview.setName("wizardtaReview"); // NOI18N
    wizardScrollPaneReview.setViewportView(wizardtaReview);

    wizardTabpDetailsDTBIR.addTab(resourceMap.getString("wizardScrollPaneReview.TabConstraints.tabTitle"),
            wizardScrollPaneReview); // NOI18N

    wizardtfNameOfTester.setText(resourceMap.getString("wizardtfNameOfTester.text")); // NOI18N
    wizardtfNameOfTester.setName("wizardtfNameOfTester"); // NOI18N

    jScrollPane3.setName("jScrollPane3"); // NOI18N

    wizardtaCharterdynamic.setBackground(resourceMap.getColor("wizardtaCharterdynamic.background")); // NOI18N
    wizardtaCharterdynamic.setColumns(20);
    wizardtaCharterdynamic.setFont(resourceMap.getFont("wizardtaCharterdynamic.font")); // NOI18N
    wizardtaCharterdynamic.setLineWrap(true);
    wizardtaCharterdynamic.setRows(2);
    wizardtaCharterdynamic.setBorder(null);
    wizardtaCharterdynamic.setName("wizardtaCharterdynamic"); // NOI18N
    jScrollPane3.setViewportView(wizardtaCharterdynamic);

    javax.swing.GroupLayout testsessionPanelLayout = new javax.swing.GroupLayout(testsessionPanel);
    testsessionPanel.setLayout(testsessionPanelLayout);
    testsessionPanelLayout.setHorizontalGroup(testsessionPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(testsessionPanelLayout.createSequentialGroup().addGroup(testsessionPanelLayout
                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(testsessionPanelLayout.createSequentialGroup().addContainerGap()
                            .addGroup(testsessionPanelLayout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(wizardLblcharterHeadline).addComponent(wizardLblStart)
                                    .addComponent(wizardLblTester))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                            .addGroup(testsessionPanelLayout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(testsessionPanelLayout.createSequentialGroup()
                                            .addGroup(testsessionPanelLayout
                                                    .createParallelGroup(
                                                            javax.swing.GroupLayout.Alignment.LEADING, false)
                                                    .addComponent(wizardLblstartTime)
                                                    .addComponent(wizardtfNameOfTester,
                                                            javax.swing.GroupLayout.PREFERRED_SIZE, 266,
                                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                                            .addGap(18, 18, 18).addComponent(wizardTabpDetailsDTBIR,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, 635, Short.MAX_VALUE))
                                    .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 919,
                                            Short.MAX_VALUE)))
                    .addGroup(testsessionPanelLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(wizardPanelTaskBreakd, javax.swing.GroupLayout.Alignment.LEADING,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    Short.MAX_VALUE)
                            .addComponent(wizardPanelTestsessionAreas,
                                    javax.swing.GroupLayout.Alignment.LEADING,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    Short.MAX_VALUE)))
                    .addContainerGap()));
    testsessionPanelLayout.setVerticalGroup(testsessionPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(testsessionPanelLayout.createSequentialGroup().addContainerGap()
                    .addGroup(testsessionPanelLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(wizardLblcharterHeadline).addComponent(jScrollPane3,
                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(testsessionPanelLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(testsessionPanelLayout.createSequentialGroup()
                                    .addComponent(wizardPanelTestsessionAreas,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addGap(11, 11, 11)
                                    .addGroup(testsessionPanelLayout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                            .addComponent(wizardLblStart).addComponent(wizardLblstartTime))
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addGroup(testsessionPanelLayout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                            .addComponent(wizardLblTester).addComponent(wizardtfNameOfTester,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGap(15, 15, 15).addComponent(wizardPanelTaskBreakd,
                                            javax.swing.GroupLayout.PREFERRED_SIZE, 272,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(testsessionPanelLayout
                                    .createSequentialGroup().addComponent(wizardTabpDetailsDTBIR,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, 531, Short.MAX_VALUE)
                                    .addGap(11, 11, 11)))));

    wizardtabp.addTab(resourceMap.getString("testsessionPanel.TabConstraints.tabTitle"), testsessionPanel); // NOI18N

    wizardbtnBack.setText(resourceMap.getString("wizardbtnBack.text")); // NOI18N
    wizardbtnBack.setEnabled(false);
    wizardbtnBack.setName("wizardbtnBack"); // NOI18N
    wizardbtnBack.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            btnWizardBack(evt);
        }
    });

    wizardbtnStart.setText(resourceMap.getString("wizardbtnStart.text")); // NOI18N
    wizardbtnStart.setName("wizardbtnStart"); // NOI18N

    wizardbtnStop.setText(resourceMap.getString("wizardbtnStop.text")); // NOI18N
    wizardbtnStop.setName("wizardbtnStop"); // NOI18N

    wizardbtnSave.setEnabled(false);
    wizardbtnSave.setLabel(resourceMap.getString("SaveButton.label")); // NOI18N
    wizardbtnSave.setName("SaveButton"); // NOI18N
    wizardbtnSave.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            btnWizardSaveClicked(evt);
        }
    });

    wizardbtnNext.setText(resourceMap.getString("wizardbtnNext.text")); // NOI18N
    wizardbtnNext.setName("wizardbtnNext"); // NOI18N
    wizardbtnNext.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            btnWizardNext(evt);
        }
    });

    wizardbtnNew.setText(resourceMap.getString("wizardbtnNew.text")); // NOI18N
    wizardbtnNew.setName("wizardbtnNew"); // NOI18N
    wizardbtnNew.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            btnWizardNewMouseClicked(evt);
        }
    });

    javax.swing.GroupLayout wizardPanelLayout = new javax.swing.GroupLayout(wizardPanel);
    wizardPanel.setLayout(wizardPanelLayout);
    wizardPanelLayout.setHorizontalGroup(wizardPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, wizardPanelLayout.createSequentialGroup()
                    .addGroup(wizardPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, wizardPanelLayout
                                    .createSequentialGroup().addContainerGap().addComponent(wizardbtnBack)
                                    .addGap(340, 340, 340).addComponent(wizardbtnStart).addGap(2, 2, 2)
                                    .addComponent(wizardbtnStop).addGap(18, 18, 18).addComponent(wizardbtnSave)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(wizardbtnNew)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 280,
                                            Short.MAX_VALUE)
                                    .addComponent(wizardbtnNext))
                            .addComponent(WizardToolbar, javax.swing.GroupLayout.Alignment.LEADING,
                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING,
                                    wizardPanelLayout.createSequentialGroup().addContainerGap().addComponent(
                                            wizardtabp, javax.swing.GroupLayout.DEFAULT_SIZE, 1000,
                                            Short.MAX_VALUE)))
                    .addContainerGap()));
    wizardPanelLayout.setVerticalGroup(wizardPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(wizardPanelLayout.createSequentialGroup()
                    .addComponent(WizardToolbar, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(wizardtabp, javax.swing.GroupLayout.DEFAULT_SIZE, 624, Short.MAX_VALUE)
                    .addGap(18, 18, 18)
                    .addGroup(wizardPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(wizardbtnBack).addComponent(wizardbtnStart)
                            .addComponent(wizardbtnSave).addComponent(wizardbtnNew).addComponent(wizardbtnNext)
                            .addComponent(wizardbtnStop))
                    .addContainerGap()));

    viewReviewsPanel.setName("viewReviewsPanel"); // NOI18N

    ReviewToolbar.setFloatable(false);
    ReviewToolbar.setRollover(true);
    ReviewToolbar.setName("ReviewToolbar"); // NOI18N

    reviewbtntopSave.setIcon(resourceMap.getIcon("reviewbtntopSave.icon")); // NOI18N
    reviewbtntopSave.setToolTipText(resourceMap.getString("reviewbtntopSave.toolTipText")); // NOI18N
    reviewbtntopSave.setDisabledIcon(resourceMap.getIcon("reviewbtntopSave.disabledIcon")); // NOI18N
    reviewbtntopSave.setEnabled(false);
    reviewbtntopSave.setFocusable(false);
    reviewbtntopSave.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT);
    reviewbtntopSave.setName("reviewbtntopSave"); // NOI18N
    reviewbtntopSave.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    reviewbtntopSave.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            reviewbtntopSaveMouseClicked(evt);
        }
    });
    ReviewToolbar.add(reviewbtntopSave);

    jSeparator3.setName("jSeparator3"); // NOI18N
    ReviewToolbar.add(jSeparator3);

    reviewbtntopBack.setIcon(resourceMap.getIcon("reviewbtntopBack.icon")); // NOI18N
    reviewbtntopBack.setToolTipText(resourceMap.getString("reviewbtntopBack.toolTipText")); // NOI18N
    reviewbtntopBack.setDisabledIcon(resourceMap.getIcon("reviewbtntopBack.disabledIcon")); // NOI18N
    reviewbtntopBack.setEnabled(false);
    reviewbtntopBack.setFocusable(false);
    reviewbtntopBack.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    reviewbtntopBack.setName("reviewbtntopBack"); // NOI18N
    reviewbtntopBack.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    reviewbtntopBack.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            reviewbtntopBackMouseClicked(evt);
        }
    });
    ReviewToolbar.add(reviewbtntopBack);

    reviewbtntopNext.setIcon(resourceMap.getIcon("reviewbtntopNext.icon")); // NOI18N
    reviewbtntopNext.setToolTipText(resourceMap.getString("reviewbtntopNext.toolTipText")); // NOI18N
    reviewbtntopNext.setDisabledIcon(resourceMap.getIcon("reviewbtntopNext.disabledIcon")); // NOI18N
    reviewbtntopNext.setFocusable(false);
    reviewbtntopNext.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    reviewbtntopNext.setName("reviewbtntopNext"); // NOI18N
    reviewbtntopNext.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    reviewbtntopNext.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            reviewbtntopNextMouseClicked(evt);
        }
    });
    ReviewToolbar.add(reviewbtntopNext);

    reviewbtntopMove.setIcon(resourceMap.getIcon("reviewbtntopMove.icon")); // NOI18N
    reviewbtntopMove.setText(resourceMap.getString("reviewbtntopMove.text")); // NOI18N
    reviewbtntopMove.setToolTipText(resourceMap.getString("reviewbtntopMove.toolTipText")); // NOI18N
    reviewbtntopMove.setDisabledIcon(resourceMap.getIcon("reviewbtntopMove.disabledIcon")); // NOI18N
    reviewbtntopMove.setFocusable(false);
    reviewbtntopMove.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    reviewbtntopMove.setName("reviewbtntopMove"); // NOI18N
    reviewbtntopMove.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    reviewbtntopMove.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            moveto(evt);
        }
    });
    ReviewToolbar.add(reviewbtntopMove);

    reviewViewlabel.setFont(resourceMap.getFont("reviewViewlabel.font")); // NOI18N
    reviewViewlabel.setText(resourceMap.getString("reviewViewlabel.text")); // NOI18N
    reviewViewlabel.setName("reviewViewlabel"); // NOI18N

    reviewSessionsTabp.setName("reviewSessionsTabp"); // NOI18N

    reviewToreviewSessionsPanel.setName("reviewToreviewSessionsPanel"); // NOI18N

    reviewCmbxSessiontoReview.setName("reviewCmbxSessiontoReview"); // NOI18N

    reviewtoReviewPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
    reviewtoReviewPanel.setName("reviewtoReviewPanel"); // NOI18N
    reviewtoReviewPanel.setLayout(new java.awt.GridLayout(2, 0));

    javax.swing.GroupLayout reviewToreviewSessionsPanelLayout = new javax.swing.GroupLayout(
            reviewToreviewSessionsPanel);
    reviewToreviewSessionsPanel.setLayout(reviewToreviewSessionsPanelLayout);
    reviewToreviewSessionsPanelLayout.setHorizontalGroup(reviewToreviewSessionsPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(reviewToreviewSessionsPanelLayout.createSequentialGroup().addContainerGap()
                    .addGroup(reviewToreviewSessionsPanelLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(reviewtoReviewPanel, javax.swing.GroupLayout.Alignment.TRAILING,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, 975, Short.MAX_VALUE)
                            .addComponent(reviewCmbxSessiontoReview, 0, 975, Short.MAX_VALUE))
                    .addContainerGap()));
    reviewToreviewSessionsPanelLayout.setVerticalGroup(reviewToreviewSessionsPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(reviewToreviewSessionsPanelLayout.createSequentialGroup().addContainerGap()
                    .addComponent(reviewtoReviewPanel, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(18, 18, 18)
                    .addComponent(reviewCmbxSessiontoReview, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(520, Short.MAX_VALUE)));

    reviewSessionsTabp.addTab(resourceMap.getString("reviewToreviewSessionsPanel.TabConstraints.tabTitle"),
            reviewToreviewSessionsPanel); // NOI18N

    reviewViewPanel.setName("reviewViewPanel"); // NOI18N

    reviewLblStartTime.setText(resourceMap.getString("reviewLblStartTime.text")); // NOI18N
    reviewLblStartTime.setName("reviewLblStartTime"); // NOI18N

    reviewPaneTaskbreakdown.setBorder(
            javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(),
                    resourceMap.getString("reviewPaneTaskbreakdown.border.title"),
                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                    javax.swing.border.TitledBorder.DEFAULT_POSITION,
                    resourceMap.getFont("reviewPaneTaskbreakdown.border.titleFont"))); // NOI18N
    reviewPaneTaskbreakdown.setName("reviewPaneTaskbreakdown"); // NOI18N

    reviewLblDuration.setText(resourceMap.getString("reviewLblDuration.text")); // NOI18N
    reviewLblDuration.setName("reviewLblDuration"); // NOI18N

    reviewLblTestExecution.setText(resourceMap.getString("reviewLblTestExecution.text")); // NOI18N
    reviewLblTestExecution.setName("reviewLblTestExecution"); // NOI18N

    reviewLblSetup.setText(resourceMap.getString("reviewLblSetup.text")); // NOI18N
    reviewLblSetup.setName("reviewLblSetup"); // NOI18N

    reviewLblChartervs.setText(resourceMap.getString("reviewLblChartervs.text")); // NOI18N
    reviewLblChartervs.setName("reviewLblChartervs"); // NOI18N

    reviewtfDuration.setBackground(resourceMap.getColor("reviewtfDuration.background")); // NOI18N
    reviewtfDuration.setBorder(javax.swing.BorderFactory.createEtchedBorder());
    reviewtfDuration.setName("reviewtfDuration"); // NOI18N

    reviewtfSessionSetup.setBorder(javax.swing.BorderFactory.createEtchedBorder());
    reviewtfSessionSetup.setName("reviewtfSessionSetup"); // NOI18N

    reviewLblBugReporting.setText(resourceMap.getString("reviewLblBugReporting.text")); // NOI18N
    reviewLblBugReporting.setName("reviewLblBugReporting"); // NOI18N

    reviewtfBugInvestigation.setBorder(javax.swing.BorderFactory.createEtchedBorder());
    reviewtfBugInvestigation.setName("reviewtfBugInvestigation"); // NOI18N

    reviewtfCharter.setBorder(javax.swing.BorderFactory.createEtchedBorder());
    reviewtfCharter.setName("reviewtfCharter"); // NOI18N

    reviewtfTestDesignExecution.setBorder(javax.swing.BorderFactory.createEtchedBorder());
    reviewtfTestDesignExecution.setName("reviewtfTestDesignExecution"); // NOI18N

    reviewLblvs.setText(resourceMap.getString("reviewLblvs.text")); // NOI18N
    reviewLblvs.setName("reviewLblvs"); // NOI18N

    reviewLblOpportunity.setText(resourceMap.getString("reviewLblOpportunity.text")); // NOI18N
    reviewLblOpportunity.setName("reviewLblOpportunity"); // NOI18N

    javax.swing.GroupLayout reviewPaneTaskbreakdownLayout = new javax.swing.GroupLayout(
            reviewPaneTaskbreakdown);
    reviewPaneTaskbreakdown.setLayout(reviewPaneTaskbreakdownLayout);
    reviewPaneTaskbreakdownLayout.setHorizontalGroup(
            reviewPaneTaskbreakdownLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(reviewPaneTaskbreakdownLayout.createSequentialGroup()
                            .addGroup(reviewPaneTaskbreakdownLayout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(reviewPaneTaskbreakdownLayout.createSequentialGroup()
                                            .addComponent(reviewLblChartervs)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(reviewLblvs)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(reviewLblOpportunity))
                                    .addComponent(reviewtfBugInvestigation,
                                            javax.swing.GroupLayout.PREFERRED_SIZE, 100,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(reviewLblDuration)
                                    .addComponent(reviewtfDuration, javax.swing.GroupLayout.PREFERRED_SIZE, 100,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(reviewLblTestExecution).addComponent(reviewLblSetup)
                                    .addComponent(reviewtfSessionSetup, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            100, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(reviewLblBugReporting)
                                    .addComponent(reviewtfTestDesignExecution,
                                            javax.swing.GroupLayout.PREFERRED_SIZE, 100,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(reviewtfCharter, javax.swing.GroupLayout.PREFERRED_SIZE, 97,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addContainerGap(172, Short.MAX_VALUE)));
    reviewPaneTaskbreakdownLayout.setVerticalGroup(reviewPaneTaskbreakdownLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(reviewPaneTaskbreakdownLayout.createSequentialGroup().addComponent(reviewLblDuration)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(reviewtfDuration, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(reviewLblTestExecution)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(reviewtfTestDesignExecution, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(reviewLblSetup).addGap(9, 9, 9)
                    .addComponent(reviewtfSessionSetup, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(reviewLblBugReporting)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(reviewtfBugInvestigation, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(reviewPaneTaskbreakdownLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(reviewLblChartervs).addComponent(reviewLblvs)
                            .addComponent(reviewLblOpportunity))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(reviewtfCharter, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(17, Short.MAX_VALUE)));

    reviewPanelTestsessionAreas.setBorder(
            javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(),
                    resourceMap.getString("reviewPanelTestsessionAreas.border.title"),
                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
                    javax.swing.border.TitledBorder.DEFAULT_POSITION,
                    resourceMap.getFont("reviewPanelTestsessionAreas.border.titleFont"))); // NOI18N
    reviewPanelTestsessionAreas.setName("reviewPanelTestsessionAreas"); // NOI18N

    reviewScrollPaneArea.setName("reviewScrollPaneArea"); // NOI18N

    reviewtaTestsessionAreasReview.setColumns(20);
    reviewtaTestsessionAreasReview.setRows(5);
    reviewtaTestsessionAreasReview.setName("reviewtaTestsessionAreasReview"); // NOI18N
    reviewScrollPaneArea.setViewportView(reviewtaTestsessionAreasReview);

    javax.swing.GroupLayout reviewPanelTestsessionAreasLayout = new javax.swing.GroupLayout(
            reviewPanelTestsessionAreas);
    reviewPanelTestsessionAreas.setLayout(reviewPanelTestsessionAreasLayout);
    reviewPanelTestsessionAreasLayout.setHorizontalGroup(
            reviewPanelTestsessionAreasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(reviewPanelTestsessionAreasLayout
                            .createSequentialGroup().addComponent(reviewScrollPaneArea,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, 317, Short.MAX_VALUE)
                            .addContainerGap()));
    reviewPanelTestsessionAreasLayout.setVerticalGroup(
            reviewPanelTestsessionAreasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(reviewPanelTestsessionAreasLayout
                            .createSequentialGroup().addComponent(reviewScrollPaneArea,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, 140, Short.MAX_VALUE)
                            .addContainerGap()));

    reviewCharterHeadlineLabel.setFont(resourceMap.getFont("reviewCharterHeadlineLabel.font")); // NOI18N
    reviewCharterHeadlineLabel.setText(resourceMap.getString("reviewCharterHeadlineLabel.text")); // NOI18N
    reviewCharterHeadlineLabel.setName("reviewCharterHeadlineLabel"); // NOI18N

    reviewLblStart.setFont(resourceMap.getFont("reviewLblStart.font")); // NOI18N
    reviewLblStart.setText(resourceMap.getString("reviewLblStart.text")); // NOI18N
    reviewLblStart.setName("reviewLblStart"); // NOI18N

    reviewLblTester.setFont(resourceMap.getFont("reviewLblTester.font")); // NOI18N
    reviewLblTester.setText(resourceMap.getString("reviewLblTester.text")); // NOI18N
    reviewLblTester.setName("reviewLblTester"); // NOI18N

    reviewTabpDTBIR.setName("reviewTabpDTBIR"); // NOI18N

    reviewScrollPaneDatafile.setName("reviewScrollPaneDatafile"); // NOI18N

    reviewtaDataFiles.setColumns(20);
    reviewtaDataFiles.setFont(resourceMap.getFont("reviewtaDataFiles.font")); // NOI18N
    reviewtaDataFiles.setRows(5);
    reviewtaDataFiles.setName("reviewtaDataFiles"); // NOI18N
    reviewScrollPaneDatafile.setViewportView(reviewtaDataFiles);

    reviewTabpDTBIR.addTab(resourceMap.getString("reviewScrollPaneDatafile.TabConstraints.tabTitle"),
            reviewScrollPaneDatafile); // NOI18N

    reviewScrollPaneTestNotes.setName("reviewScrollPaneTestNotes"); // NOI18N

    reviewtaTestNotes.setColumns(20);
    reviewtaTestNotes.setFont(resourceMap.getFont("reviewtaTestNotes.font")); // NOI18N
    reviewtaTestNotes.setLineWrap(true);
    reviewtaTestNotes.setRows(5);
    reviewtaTestNotes.setName("reviewtaTestNotes"); // NOI18N
    reviewScrollPaneTestNotes.setViewportView(reviewtaTestNotes);

    reviewTabpDTBIR.addTab(resourceMap.getString("reviewScrollPaneTestNotes.TabConstraints.tabTitle"),
            reviewScrollPaneTestNotes); // NOI18N

    reviewScrollPaneBugs.setName("reviewScrollPaneBugs"); // NOI18N

    reviewedipaneBugs.setFont(resourceMap.getFont("reviewedipaneBugs.font")); // NOI18N
    reviewedipaneBugs.setName("reviewedipaneBugs"); // NOI18N
    reviewScrollPaneBugs.setViewportView(reviewedipaneBugs);

    reviewTabpDTBIR.addTab(resourceMap.getString("reviewScrollPaneBugs.TabConstraints.tabTitle"),
            reviewScrollPaneBugs); // NOI18N

    reviewScrollPaneIssues.setName("reviewScrollPaneIssues"); // NOI18N

    reviewtaIssues.setColumns(20);
    reviewtaIssues.setFont(resourceMap.getFont("reviewtaIssues.font")); // NOI18N
    reviewtaIssues.setRows(5);
    reviewtaIssues.setName("reviewtaIssues"); // NOI18N
    reviewScrollPaneIssues.setViewportView(reviewtaIssues);

    reviewTabpDTBIR.addTab(resourceMap.getString("reviewScrollPaneIssues.TabConstraints.tabTitle"),
            reviewScrollPaneIssues); // NOI18N

    reviewScrollPaneReview.setName("reviewScrollPaneReview"); // NOI18N

    reviewtaReview.setColumns(20);
    reviewtaReview.setFont(resourceMap.getFont("reviewtaReview.font")); // NOI18N
    reviewtaReview.setRows(5);
    reviewtaReview.setName("reviewtaReview"); // NOI18N
    reviewScrollPaneReview.setViewportView(reviewtaReview);

    reviewTabpDTBIR.addTab(resourceMap.getString("reviewScrollPaneReview.TabConstraints.tabTitle"),
            reviewScrollPaneReview); // NOI18N

    reviewTabpDTBIR.setSelectedIndex(4);

    reviewtfNameOfTester.setText(resourceMap.getString("reviewtfNameOfTester.text")); // NOI18N
    reviewtfNameOfTester.setName("reviewtfNameOfTester"); // NOI18N

    jScrollPane6.setName("jScrollPane6"); // NOI18N

    reviewtaCharterdynamic.setBackground(resourceMap.getColor("reviewtaCharterdynamic.background")); // NOI18N
    reviewtaCharterdynamic.setColumns(20);
    reviewtaCharterdynamic.setEditable(false);
    reviewtaCharterdynamic.setFont(resourceMap.getFont("reviewtaCharterdynamic.font")); // NOI18N
    reviewtaCharterdynamic.setLineWrap(true);
    reviewtaCharterdynamic.setRows(2);
    reviewtaCharterdynamic.setText(resourceMap.getString("reviewtaCharterdynamic.text")); // NOI18N
    reviewtaCharterdynamic.setBorder(null);
    reviewtaCharterdynamic.setName("reviewtaCharterdynamic"); // NOI18N
    jScrollPane6.setViewportView(reviewtaCharterdynamic);

    javax.swing.GroupLayout reviewViewPanelLayout = new javax.swing.GroupLayout(reviewViewPanel);
    reviewViewPanel.setLayout(reviewViewPanelLayout);
    reviewViewPanelLayout.setHorizontalGroup(reviewViewPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(reviewViewPanelLayout.createSequentialGroup().addGroup(reviewViewPanelLayout
                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(reviewViewPanelLayout.createSequentialGroup().addContainerGap()
                            .addGroup(reviewViewPanelLayout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(reviewLblStart).addComponent(reviewLblTester)
                                    .addComponent(reviewCharterHeadlineLabel))
                            .addGap(10, 10, 10)
                            .addGroup(reviewViewPanelLayout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(reviewViewPanelLayout.createSequentialGroup()
                                            .addGroup(reviewViewPanelLayout
                                                    .createParallelGroup(
                                                            javax.swing.GroupLayout.Alignment.LEADING, false)
                                                    .addComponent(reviewLblStartTime)
                                                    .addComponent(reviewtfNameOfTester,
                                                            javax.swing.GroupLayout.PREFERRED_SIZE, 266,
                                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                                            .addGap(18, 18, 18).addComponent(reviewTabpDTBIR))
                                    .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 919,
                                            Short.MAX_VALUE)))
                    .addGroup(reviewViewPanelLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(reviewPaneTaskbreakdown, javax.swing.GroupLayout.Alignment.LEADING,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    Short.MAX_VALUE)
                            .addComponent(reviewPanelTestsessionAreas,
                                    javax.swing.GroupLayout.Alignment.LEADING,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    Short.MAX_VALUE)))
                    .addContainerGap()));
    reviewViewPanelLayout.setVerticalGroup(reviewViewPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(reviewViewPanelLayout.createSequentialGroup().addContainerGap()
                    .addGroup(reviewViewPanelLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(reviewCharterHeadlineLabel))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(reviewViewPanelLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(reviewViewPanelLayout.createSequentialGroup()
                                    .addComponent(reviewPanelTestsessionAreas,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addGap(11, 11, 11)
                                    .addGroup(reviewViewPanelLayout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                            .addComponent(reviewLblStart).addComponent(reviewLblStartTime))
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addGroup(reviewViewPanelLayout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                            .addComponent(reviewLblTester).addComponent(reviewtfNameOfTester,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGap(15, 15, 15).addComponent(reviewPaneTaskbreakdown,
                                            javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(reviewViewPanelLayout
                                    .createSequentialGroup().addComponent(reviewTabpDTBIR,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, 508, Short.MAX_VALUE)
                                    .addGap(11, 11, 11)))));

    reviewSessionsTabp.addTab(resourceMap.getString("reviewViewPanel.TabConstraints.tabTitle"),
            reviewViewPanel); // NOI18N

    reviewbtnNext.setText(resourceMap.getString("reviewbtnNext.text")); // NOI18N
    reviewbtnNext.setName("reviewbtnNext"); // NOI18N
    reviewbtnNext.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            reviewbtnNextClicked(evt);
        }
    });

    reviewbtnBack.setText(resourceMap.getString("reviewbtnBack.text")); // NOI18N
    reviewbtnBack.setEnabled(false);
    reviewbtnBack.setName("reviewbtnBack"); // NOI18N
    reviewbtnBack.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            reviewbtnBackMouseClicked(evt);
        }
    });

    reviewbtnSave.setEnabled(false);
    reviewbtnSave.setLabel(resourceMap.getString("reviewbtnSave.label")); // NOI18N
    reviewbtnSave.setName("reviewbtnSave"); // NOI18N
    reviewbtnSave.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            reviewbtnSaveButtonClicked(evt);
        }
    });

    reviewbtnMove.setText(resourceMap.getString("reviewbtnMove.text")); // NOI18N
    reviewbtnMove.setToolTipText(resourceMap.getString("reviewbtnMove.toolTipText")); // NOI18N
    reviewbtnMove.setEnabled(false);
    reviewbtnMove.setName("reviewbtnMove"); // NOI18N
    reviewbtnMove.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            moveto(evt);
        }
    });

    javax.swing.GroupLayout viewReviewsPanelLayout = new javax.swing.GroupLayout(viewReviewsPanel);
    viewReviewsPanel.setLayout(viewReviewsPanelLayout);
    viewReviewsPanelLayout.setHorizontalGroup(viewReviewsPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(viewReviewsPanelLayout.createSequentialGroup().addGroup(viewReviewsPanelLayout
                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(ReviewToolbar, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(viewReviewsPanelLayout.createSequentialGroup().addContainerGap()
                            .addComponent(reviewbtnBack).addGap(466, 466, 466).addComponent(reviewbtnSave)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 206,
                                    Short.MAX_VALUE)
                            .addComponent(reviewbtnMove).addGap(18, 18, 18).addComponent(reviewbtnNext))
                    .addGroup(viewReviewsPanelLayout.createSequentialGroup().addGap(10, 10, 10)
                            .addComponent(reviewSessionsTabp))
                    .addGroup(viewReviewsPanelLayout.createSequentialGroup().addContainerGap()
                            .addComponent(reviewViewlabel)))
                    .addContainerGap()));
    viewReviewsPanelLayout.setVerticalGroup(viewReviewsPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(viewReviewsPanelLayout.createSequentialGroup()
                    .addComponent(ReviewToolbar, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(2, 2, 2).addComponent(reviewViewlabel)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(
                            reviewSessionsTabp, javax.swing.GroupLayout.DEFAULT_SIZE, 601, Short.MAX_VALUE)
                    .addGap(25, 25, 25)
                    .addGroup(viewReviewsPanelLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(reviewbtnBack).addComponent(reviewbtnNext).addComponent(reviewbtnSave)
                            .addComponent(reviewbtnMove))
                    .addContainerGap()));

    reportPanel.setName("reportPanel"); // NOI18N

    reportChartPanel.setName("reportChartPanel"); // NOI18N

    javax.swing.GroupLayout reportChartPanelLayout = new javax.swing.GroupLayout(reportChartPanel);
    reportChartPanel.setLayout(reportChartPanelLayout);
    reportChartPanelLayout.setHorizontalGroup(reportChartPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 495, Short.MAX_VALUE));
    reportChartPanelLayout.setVerticalGroup(reportChartPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 436, Short.MAX_VALUE));

    reportScrollPOverviewTabel.setName("reportScrollPOverviewTabel"); // NOI18N

    reportOverviewTable.setBackground(resourceMap.getColor("reportOverviewTable.background")); // NOI18N
    reportOverviewTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object[][] { { null, null }, { null, null }, { null, null }, { null, null } },
            new String[] { "Charter", "Number of Testsessions" }));
    reportOverviewTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_LAST_COLUMN);
    reportOverviewTable.setName("reportOverviewTable"); // NOI18N
    reportScrollPOverviewTabel.setViewportView(reportOverviewTable);
    reportOverviewTable.getColumnModel().getColumn(0)
            .setHeaderValue(resourceMap.getString("reportOverviewTable.columnModel.title0")); // NOI18N
    reportOverviewTable.getColumnModel().getColumn(1)
            .setHeaderValue(resourceMap.getString("reportOverviewTable.columnModel.title1")); // NOI18N

    reportlblSum.setText(resourceMap.getString("reportlblSum.text")); // NOI18N
    reportlblSum.setName("reportlblSum"); // NOI18N

    reportlblBug.setText(resourceMap.getString("reportlblBug.text")); // NOI18N
    reportlblBug.setName("reportlblBug"); // NOI18N

    reportlblIssue.setText(resourceMap.getString("reportlblIssue.text")); // NOI18N
    reportlblIssue.setName("reportlblIssue"); // NOI18N

    javax.swing.GroupLayout reportPanelLayout = new javax.swing.GroupLayout(reportPanel);
    reportPanel.setLayout(reportPanelLayout);
    reportPanelLayout.setHorizontalGroup(reportPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(reportPanelLayout.createSequentialGroup().addContainerGap()
                    .addGroup(reportPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(reportScrollPOverviewTabel, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    1000, Short.MAX_VALUE)
                            .addGroup(reportPanelLayout.createSequentialGroup()
                                    .addComponent(reportChartPanel, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 428,
                                            Short.MAX_VALUE)
                                    .addGroup(reportPanelLayout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                            .addComponent(reportlblSum).addComponent(reportlblIssue)
                                            .addComponent(reportlblBug))))
                    .addContainerGap()));
    reportPanelLayout.setVerticalGroup(reportPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(reportPanelLayout.createSequentialGroup().addContainerGap()
                    .addComponent(reportScrollPOverviewTabel, javax.swing.GroupLayout.PREFERRED_SIZE, 239,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(2, 2, 2).addComponent(reportlblSum).addGap(2, 2, 2)
                    .addGroup(reportPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(reportPanelLayout.createSequentialGroup().addGap(5, 5, 5)
                                    .addComponent(reportlblBug)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(reportlblIssue))
                            .addComponent(reportChartPanel, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addContainerGap()));

    javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
    mainPanel.setLayout(mainPanelLayout);
    mainPanelLayout
            .setHorizontalGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(viewReviewsPanel, javax.swing.GroupLayout.DEFAULT_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(wizardPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 1020, Short.MAX_VALUE)
                    .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(mainPanelLayout.createSequentialGroup().addGap(0, 0, 0)
                                    .addComponent(reportPanel, javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addGap(0, 0, 0))));
    mainPanelLayout
            .setVerticalGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(viewReviewsPanel, javax.swing.GroupLayout.DEFAULT_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(wizardPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 715, Short.MAX_VALUE)
                    .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(mainPanelLayout.createSequentialGroup().addGap(0, 0, 0)
                                    .addComponent(reportPanel, javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addGap(0, 0, 0))));

    menuBar.setName("menuBar"); // NOI18N

    fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N
    fileMenu.setName("fileMenu"); // NOI18N

    saveMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S,
            java.awt.event.InputEvent.CTRL_MASK));
    saveMenuItem.setText(resourceMap.getString("saveMenuItem.text")); // NOI18N
    saveMenuItem.setName("saveMenuItem"); // NOI18N
    saveMenuItem.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jMenuSave(evt);
        }
    });
    fileMenu.add(saveMenuItem);

    exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
    exitMenuItem.setName("exitMenuItem"); // NOI18N
    fileMenu.add(exitMenuItem);

    menuBar.add(fileMenu);

    sessionMenu.setText(resourceMap.getString("sessionMenu.text")); // NOI18N
    sessionMenu.setName("sessionMenu"); // NOI18N

    sessionWizardMenuItem.setText(resourceMap.getString("sessionWizardMenuItem.text")); // NOI18N
    sessionWizardMenuItem.setName("sessionWizardMenuItem"); // NOI18N
    sessionWizardMenuItem.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            menuSessionWizard(evt);
        }
    });
    sessionMenu.add(sessionWizardMenuItem);

    reviewVieMenuItem.setText(resourceMap.getString("reviewVieMenuItem.text")); // NOI18N
    reviewVieMenuItem.setName("reviewVieMenuItem"); // NOI18N
    reviewVieMenuItem.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            menuReviewView(evt);
        }
    });
    sessionMenu.add(reviewVieMenuItem);

    sessionReportMenuItem.setText(resourceMap.getString("sessionReportMenuItem.text")); // NOI18N
    sessionReportMenuItem.setName("sessionReportMenuItem"); // NOI18N
    sessionReportMenuItem.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            menuReportView(evt);
        }
    });
    sessionMenu.add(sessionReportMenuItem);

    menuBar.add(sessionMenu);

    helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
    helpMenu.setName("helpMenu"); // NOI18N

    aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
    aboutMenuItem.setName("aboutMenuItem"); // NOI18N
    helpMenu.add(aboutMenuItem);

    helpMenuItem.setAction(actionMap.get("showHelpPdf")); // NOI18N
    helpMenuItem.setText(resourceMap.getString("helpMenuItem.text")); // NOI18N
    helpMenuItem.setName("helpMenuItem"); // NOI18N
    helpMenu.add(helpMenuItem);

    menuBar.add(helpMenu);

    statusPanel.setName("statusPanel"); // NOI18N

    statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N

    statusMessageLabel.setName("statusMessageLabel"); // NOI18N

    statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
    statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N

    progressBar.setName("progressBar"); // NOI18N

    javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel);
    statusPanel.setLayout(statusPanelLayout);
    statusPanelLayout.setHorizontalGroup(statusPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 1020, Short.MAX_VALUE)
            .addGroup(statusPanelLayout.createSequentialGroup().addContainerGap()
                    .addComponent(statusMessageLabel)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 850, Short.MAX_VALUE)
                    .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(statusAnimationLabel).addContainerGap()));
    statusPanelLayout.setVerticalGroup(statusPanelLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(statusPanelLayout.createSequentialGroup()
                    .addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 2,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(statusMessageLabel).addComponent(statusAnimationLabel)
                            .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(3, 3, 3)));

    wizardPopUpBugTab.setName("wizardPopUpBugTab"); // NOI18N

    wizardPopUpIssueTab.setName("wizardPopUpIssueTab"); // NOI18N

    setComponent(mainPanel);
    setMenuBar(menuBar);
    setStatusBar(statusPanel);
}

From source file:com.sshtools.common.ui.SshToolsApplication.java

/**
 *
 *
 * @param args//from   w  ww  .  j ava2s . co  m
 *
 * @throws SshToolsApplicationException
 */
public void init(String[] args) throws SshToolsApplicationException {
    File f = getApplicationPreferencesDirectory();

    if (f != null) {
        //
        PreferencesStore.init(new File(f, getApplicationName() + ".properties"));
        log.info("Preferences will be saved to " + f.getAbsolutePath());
    } else {
        log.warn("No preferences can be saved.");
    }

    try {
        setLookAndFeel(PreferencesStore.get(PREF_LAF, SYSTEM_LAF));

        UIManager.put("OptionPane.errorIcon", new ResourceIcon(SshToolsApplication.class, "dialog-error4.png"));
        UIManager.put("OptionPane.informationIcon",
                new ResourceIcon(SshToolsApplication.class, "dialog-information.png"));
        UIManager.put("OptionPane.warningIcon",
                new ResourceIcon(SshToolsApplication.class, "dialog-warning2.png"));
        UIManager.put("OptionPane.questionIcon",
                new ResourceIcon(SshToolsApplication.class, "dialog-question3.png"));
    } catch (Throwable t) {
        log.error(t);
    }
}

From source file:com.sshtools.common.ui.SshToolsApplication.java

/**
 *
 *
 * @param className//from w ww  .j a v a 2  s .  co m
        
        
 *
 * @throws Exception
 */
public static void setLookAndFeel(String className) throws Exception {
    LookAndFeel laf = null;

    if (!className.equals(DEFAULT_LAF)) {
        if (className.equals(SYSTEM_LAF)) {
            String systemLaf = UIManager.getSystemLookAndFeelClassName();
            log.debug("System Look And Feel is " + systemLaf);
            laf = (LookAndFeel) Class.forName(systemLaf).newInstance();
        } else if (className.equals(CROSS_PLATFORM_LAF)) {
            String crossPlatformLaf = UIManager.getCrossPlatformLookAndFeelClassName();
            log.debug("Cross Platform Look And Feel is " + crossPlatformLaf);
            laf = (LookAndFeel) Class.forName(crossPlatformLaf).newInstance();
        } else {
            laf = (LookAndFeel) Class.forName(className).newInstance();
        }
    }

    //  Now actually set the look and feel
    if (laf != null) {
        log.info("Setting look and feel " + laf.getName() + " (" + laf.getClass().getName() + ")");
        UIManager.setLookAndFeel(laf);
        UIManager.put("EditorPane.font", UIManager.getFont("TextArea.font"));
    }
}

From source file:UI.MainUI.java

/**
 * This method is called from within the constructor to initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is always
 * regenerated by the Form Editor./*from ww  w.  j a  va2 s  . c o m*/
 */
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {

    fileChooser = new javax.swing.JFileChooser();
    jFrame1 = new MyFrame();
    jPanel5 = new javax.swing.JPanel();
    submitBtn = new javax.swing.JButton();
    filePath = new java.awt.TextField();
    jButton4 = new javax.swing.JButton();
    testLabel = new javax.swing.JLabel();
    fCurrencyComboBox = new javax.swing.JComboBox<>();
    jLabel17 = new javax.swing.JLabel();
    jLabel6 = new javax.swing.JLabel();
    jPanel9 = new javax.swing.JPanel();
    jLabel3 = new javax.swing.JLabel();
    jLabel4 = new javax.swing.JLabel();
    hiddenNeurons = new javax.swing.JSpinner();
    jLabel5 = new javax.swing.JLabel();
    fOutputNeurons = new javax.swing.JSpinner();
    jLabel23 = new javax.swing.JLabel();
    jLabel24 = new javax.swing.JLabel();
    jLabel25 = new javax.swing.JLabel();
    inputNeurons = new javax.swing.JSpinner();
    jProgressBar1 = new JProgressBar(0, 100);
    finishBtn = new javax.swing.JButton();
    jLabel1 = new javax.swing.JLabel();
    epochInput = new javax.swing.JSpinner();
    jLabel31 = new javax.swing.JLabel();
    jLabel14 = new javax.swing.JLabel();
    jFrame2 = new MyFrame();
    jPanel7 = new javax.swing.JPanel();
    rSubmitBtn = new javax.swing.JButton();
    rFilePath = new java.awt.TextField();
    jButton6 = new javax.swing.JButton();
    testLabel1 = new javax.swing.JLabel();
    rCurrencyComboBox = new javax.swing.JComboBox<>();
    jLabel26 = new javax.swing.JLabel();
    jLabel9 = new javax.swing.JLabel();
    jPanel11 = new javax.swing.JPanel();
    jLabel10 = new javax.swing.JLabel();
    jLabel11 = new javax.swing.JLabel();
    rHiddenNeurons1 = new javax.swing.JSpinner();
    jLabel12 = new javax.swing.JLabel();
    jLabel27 = new javax.swing.JLabel();
    jLabel28 = new javax.swing.JLabel();
    jLabel29 = new javax.swing.JLabel();
    rInputNeurons = new javax.swing.JSpinner();
    rOutputNeurons = new javax.swing.JSpinner();
    rHiddenNeurons2 = new javax.swing.JSpinner();
    rProgressBar = new javax.swing.JProgressBar();
    rFinishBtn = new javax.swing.JButton();
    jLabel2 = new javax.swing.JLabel();
    rSpinner = new javax.swing.JSpinner();
    jLabel30 = new javax.swing.JLabel();
    jLabel13 = new javax.swing.JLabel();
    buttonGroup1 = new javax.swing.ButtonGroup();
    jScrollPane2 = new javax.swing.JScrollPane();
    jPanel1 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    UIManager.put("TabbedPane.contentAreaColor ", ColorUIResource.BLACK);
    UIManager.put("TabbedPane.selected", ColorUIResource.BLACK);
    UIManager.put("TabbedPane.unselectedBackground", ColorUIResource.BLACK);
    // UIManager.put("TabbedPane.background",ColorUIResource.BLUE);
    UIManager.put("TabbedPane.shadow", ColorUIResource.BLACK);
    jTabbedPane1 = new javax.swing.JTabbedPane();
    jPanel3 = new JPanel() {
        public void paintComponent(Graphics g) {
            Image img = Toolkit.getDefaultToolkit()
                    .getImage(MainUI.class.getResource("/resources/NNImage.jpg"));
            g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
        }
    };
    ;
    setUIFont(new javax.swing.plaf.FontUIResource("Segoe UI", Font.PLAIN, 14));
    jPanel14 = new javax.swing.JPanel();
    jTextArea1 = jTextArea1 = new JTextArea() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jPanel4 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jTextArea4 = new javax.swing.JTextArea();
    jPanel6 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jTextArea5 = new javax.swing.JTextArea();
    jPanel15 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jTextArea3 = new JTextArea() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jPanel16 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jTextArea6 = new javax.swing.JTextArea();
    jPanel17 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jTextArea7 = new javax.swing.JTextArea();
    jPanel18 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jTextArea8 = new javax.swing.JTextArea();
    jPanel19 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jTextArea9 = new javax.swing.JTextArea();
    jPanel20 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jTextArea10 = new JTextArea() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jPanel21 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    todayText1 = new JTextArea() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jPanel22 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    todayText2 = new JTextArea() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jPanel23 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    todayText3 = new JTextArea() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jPanel24 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    todayText4 = new JTextArea() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jPanel25 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jTextArea15 = new JTextArea() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jPanel26 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    tmrwText1 = new JTextArea() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jPanel27 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    tmrwText2 = new JTextArea() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jPanel28 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    tmrwText3 = new JTextArea() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jPanel29 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    tmrwText4 = new JTextArea() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    statusLabel = new javax.swing.JLabel();
    jPanel8 = new JPanel() {
        public void paintComponent(Graphics g) {
            Image img = Toolkit.getDefaultToolkit()
                    .getImage(MainUI.class.getResource("/resources/NNImage.jpg"));
            g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
        }
    };
    ;
    jPanel10 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jLabel8 = new javax.swing.JLabel();
    CurrencyComboBox = new JComboBox() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jLabel7 = new javax.swing.JLabel();
    testingDataPath = new JTextField() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    testingBrowseBtn = new javax.swing.JToggleButton();
    forecastBtn = new javax.swing.JButton();
    jScrollPane1 = new JScrollPane() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    Caret caret = new DefaultCaret() {
        public void focusGained(FocusEvent e) {
            setVisible(true);
            setSelectionVisible(true);
        }
    };
    caret.setBlinkRate(UIManager.getInt("TextField.caretBlinkRate"));

    JTextField textField = new JTextField();
    textField.setEditable(false);
    textField.setCaret(caret);
    //textField.setBorder(new LineBorder(Color.BLACK));
    // textField.setBackground(Color.BLUE);

    DefaultCellEditor dce = new DefaultCellEditor(textField);
    forecastTable = new JTable();
    jPanel12 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    jPanel13 = new javax.swing.JPanel();
    jRadioButton2 = new javax.swing.JRadioButton();
    jRadioButton1 = new javax.swing.JRadioButton();
    jPanel2 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    doneButton1 = new javax.swing.JButton();
    jPanel30 = new JPanel() {
        protected void paintComponent(Graphics g) {
            g.setColor(getBackground());
            g.fillRect(0, 0, getWidth(), getHeight());
            super.paintComponent(g);
        }
    };
    ;
    graphBtn = new javax.swing.JButton();
    jButton1 = new javax.swing.JButton();

    fileChooser.setFileFilter(new MyCustomFilter());

    jFrame1.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    jFrame1.setTitle("Train Feed Forward Neural Network");
    jFrame1.setBackground(new java.awt.Color(102, 102, 102));
    jFrame1.setFocusTraversalPolicyProvider(true);
    jFrame1.setIconImage(iconImage);
    jFrame1.setResizable(false);
    jFrame1.setSize(new java.awt.Dimension(580, 420));

    jPanel5.setBackground(new java.awt.Color(38, 50, 56));
    jPanel5.setAlignmentX(0.0F);
    jPanel5.setAlignmentY(0.0F);
    jPanel5.setPreferredSize(new java.awt.Dimension(480, 480));

    submitBtn.setText("Start");
    submitBtn.setOpaque(false);
    submitBtn.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            submitBtnActionPerformed(evt);
        }
    });

    filePath.addFocusListener(new java.awt.event.FocusAdapter() {
        public void focusGained(java.awt.event.FocusEvent evt) {
            filePathFocusGained(evt);
        }
    });
    filePath.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            filePathActionPerformed(evt);
        }
    });

    jButton4.setText("Browse");
    jButton4.setOpaque(false);
    jButton4.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton4ActionPerformed(evt);
        }
    });

    fCurrencyComboBox.setBackground(new java.awt.Color(56, 56, 56, 0));
    fCurrencyComboBox.setModel(new javax.swing.DefaultComboBoxModel<>(
            new String[] { "US Dollar", "British Pound", "Euro", "Yen" }));
    fCurrencyComboBox.setOpaque(false);
    fCurrencyComboBox.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            fCurrencyComboBoxActionPerformed(evt);
        }
    });

    jLabel17.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N
    jLabel17.setForeground(new java.awt.Color(255, 255, 255));
    jLabel17.setLabelFor(fCurrencyComboBox);
    jLabel17.setText("Select Currency                                        :");

    jLabel6.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N
    jLabel6.setForeground(new java.awt.Color(240, 240, 240));
    jLabel6.setText("Training Data Path:");

    jPanel9.setBackground(new java.awt.Color(51, 51, 51));
    jPanel9.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Enter Neurons",
            javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
            javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Segoe UI", 0, 12),
            new java.awt.Color(240, 240, 240))); // NOI18N
    jPanel9.setFont(new java.awt.Font("Segoe UI", 0, 12)); // NOI18N
    jPanel9.setOpaque(false);

    jLabel3.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N
    jLabel3.setForeground(new java.awt.Color(240, 240, 240));
    jLabel3.setLabelFor(inputNeurons);
    jLabel3.setText("Input Layer:");
    jLabel3.setToolTipText("");
    jLabel3.setAlignmentY(0.0F);
    jLabel3.setMaximumSize(new java.awt.Dimension(63, 14));
    jLabel3.setMinimumSize(new java.awt.Dimension(63, 14));
    jLabel3.setPreferredSize(new java.awt.Dimension(63, 14));

    jLabel4.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N
    jLabel4.setForeground(new java.awt.Color(240, 240, 240));
    jLabel4.setText("Hidden Layer:");

    hiddenNeurons.setModel(new javax.swing.SpinnerNumberModel(1, 1, 500, 1));
    JFormattedTextField format2 = ((JSpinner.DefaultEditor) hiddenNeurons.getEditor()).getTextField();
    format2.addFocusListener(fcsListener);
    hiddenNeurons.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
    hiddenNeurons.setOpaque(false);

    jLabel5.setForeground(new java.awt.Color(240, 240, 240));
    jLabel5.setText("Output Layer:");

    fOutputNeurons.setModel(new javax.swing.SpinnerNumberModel(1, null, null, 1));
    JFormattedTextField format3 = ((JSpinner.DefaultEditor) fOutputNeurons.getEditor()).getTextField();
    format3.addFocusListener(fcsListener);
    fOutputNeurons.setEnabled(false);
    fOutputNeurons.setOpaque(false);

    jLabel23.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N
    jLabel23.setForeground(new java.awt.Color(255, 153, 102));
    jLabel23.setIcon(
            new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N
    jLabel23.setToolTipText(
            "<html>Enter number of neurons in input layer<br>equal to number of input.<br>Range 1 - 500</html>");
    jLabel23.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

    jLabel24.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N
    jLabel24.setForeground(new java.awt.Color(255, 153, 102));
    jLabel24.setIcon(
            new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N
    jLabel24.setToolTipText(
            "<html>Enter number of neurons in<br> hidden layer of neural network.<br>Range 1 - 500</html>");

    jLabel25.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N
    jLabel25.setForeground(new java.awt.Color(255, 153, 102));
    jLabel25.setIcon(
            new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N
    jLabel25.setToolTipText(
            "<html>Number of neurons in output layer<br> of NN, equal to number of output.</html>");

    inputNeurons.setModel(new javax.swing.SpinnerNumberModel(1, 1, 500, 1));
    JFormattedTextField format1 = ((JSpinner.DefaultEditor) inputNeurons.getEditor()).getTextField();
    format1.addFocusListener(fcsListener);
    inputNeurons.setToolTipText("");
    inputNeurons.setOpaque(false);

    javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
    jPanel9.setLayout(jPanel9Layout);
    jPanel9Layout.setHorizontalGroup(jPanel9Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel9Layout.createSequentialGroup().addGap(36, 36, 36)
                    .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel9Layout.createSequentialGroup()
                                    .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 67,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jLabel23))
                            .addComponent(inputNeurons, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(48, 48, 48)
                    .addGroup(
                            jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addGroup(jPanel9Layout.createSequentialGroup().addComponent(jLabel4)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jLabel24))
                                    .addComponent(hiddenNeurons))
                    .addGap(48, 48, 48)
                    .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(fOutputNeurons, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(jPanel9Layout.createSequentialGroup().addComponent(jLabel5)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jLabel25)))
                    .addGap(36, 36, 36)));
    jPanel9Layout.setVerticalGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel9Layout.createSequentialGroup().addGap(22, 22, 22).addGroup(jPanel9Layout
                    .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel23, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel24, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel5, javax.swing.GroupLayout.Alignment.TRAILING,
                                    javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jLabel25, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                            javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel9Layout.createSequentialGroup().addGroup(jPanel9Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE, false)
                                    .addComponent(hiddenNeurons).addComponent(fOutputNeurons))
                                    .addGap(0, 0, Short.MAX_VALUE))
                            .addComponent(inputNeurons))
                    .addContainerGap()));

    jProgressBar1.setForeground(new java.awt.Color(51, 128, 244));
    jProgressBar1.setStringPainted(true);

    finishBtn.setText("Finish");
    finishBtn.setEnabled(false);
    finishBtn.setOpaque(false);
    finishBtn.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            finishBtnActionPerformed(evt);
        }
    });

    jLabel1.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N
    jLabel1.setForeground(new java.awt.Color(255, 255, 255));
    jLabel1.setLabelFor(epochInput);
    jLabel1.setText("Number of Epoch");

    epochInput.setModel(new javax.swing.SpinnerNumberModel(500, 1, 50000, 500));
    JFormattedTextField format0 = ((JSpinner.DefaultEditor) epochInput.getEditor()).getTextField();
    format0.addFocusListener(fcsListener);
    epochInput.setOpaque(false);

    jLabel31.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N
    jLabel31.setForeground(new java.awt.Color(255, 153, 102));
    jLabel31.setIcon(
            new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N
    jLabel31.setToolTipText(
            "<html>Number of Iteration to train over training data.<br>Range 1 - 50,000</html>");
    jLabel31.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

    jLabel14.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N
    jLabel14.setForeground(new java.awt.Color(255, 255, 255));
    jLabel14.setText("         :");

    javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
    jPanel5.setLayout(jPanel5Layout);
    jPanel5Layout.setHorizontalGroup(jPanel5Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                    jPanel5Layout.createSequentialGroup().addGap(224, 224, 224)
                            .addComponent(testLabel, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGap(49, 49, 49))
            .addGroup(jPanel5Layout.createSequentialGroup().addGap(63, 63, 63)
                    .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(jPanel5Layout.createSequentialGroup()
                                    .addComponent(submitBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(
                                            finishBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel5Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(jProgressBar1, javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(
                                            jPanel9, javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout
                                            .createSequentialGroup().addGroup(jPanel5Layout
                                                    .createParallelGroup(
                                                            javax.swing.GroupLayout.Alignment.LEADING, false)
                                                    .addGroup(jPanel5Layout.createSequentialGroup()
                                                            .addComponent(jLabel1)
                                                            .addPreferredGap(
                                                                    javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                                            .addComponent(jLabel31).addGap(82, 82, 82)
                                                            .addComponent(jLabel14))
                                                    .addComponent(jLabel17,
                                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                                            Short.MAX_VALUE))
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addGroup(jPanel5Layout
                                                    .createParallelGroup(
                                                            javax.swing.GroupLayout.Alignment.LEADING, false)
                                                    .addComponent(fCurrencyComboBox, 0, 137, Short.MAX_VALUE)
                                                    .addComponent(epochInput)))
                                    .addGroup(jPanel5Layout.createSequentialGroup().addGroup(jPanel5Layout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addGroup(jPanel5Layout.createSequentialGroup()
                                                    .addComponent(jLabel6).addGap(0, 0, Short.MAX_VALUE))
                                            .addComponent(filePath, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE))))
                    .addContainerGap(43, Short.MAX_VALUE)));
    jPanel5Layout.setVerticalGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel5Layout.createSequentialGroup().addGap(39, 39, 39)
                    .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel17).addComponent(fCurrencyComboBox,
                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel5Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addGroup(jPanel5Layout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                            .addComponent(epochInput, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(jLabel14, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                    .addGroup(jPanel5Layout.createSequentialGroup()
                                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addGap(3, 3, 3)))
                            .addComponent(jLabel31, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(18, 18, 18)
                    .addComponent(jPanel9, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(18, 18, 18)
                    .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jButton4).addGroup(
                                    jPanel5Layout.createSequentialGroup().addComponent(jLabel6).addGap(2, 2, 2)
                                            .addComponent(filePath, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGap(29, 29, 29)
                    .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(finishBtn).addComponent(submitBtn))
                    .addGap(18, 18, 18)
                    .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 15,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(56, 56, 56).addComponent(testLabel)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

    javax.swing.GroupLayout jFrame1Layout = new javax.swing.GroupLayout(jFrame1.getContentPane());
    jFrame1.getContentPane().setLayout(jFrame1Layout);
    jFrame1Layout.setHorizontalGroup(jFrame1Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 580, Short.MAX_VALUE)
            .addGroup(jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, 580, Short.MAX_VALUE)));
    jFrame1Layout.setVerticalGroup(jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 425, Short.MAX_VALUE)
            .addGroup(jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, 425, Short.MAX_VALUE)));

    jFrame1.setLocationRelativeTo(null);

    jFrame2.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    jFrame2.setTitle("Train Recurrent Neural Network");
    jFrame2.setBackground(new java.awt.Color(102, 102, 102));
    jFrame2.setIconImage(iconImage);
    jFrame2.setResizable(false);
    jFrame2.setSize(new java.awt.Dimension(601, 460));

    jPanel7.setBackground(new java.awt.Color(38, 50, 56));
    jPanel7.setAlignmentX(0.0F);
    jPanel7.setAlignmentY(0.0F);
    jPanel7.setFocusCycleRoot(true);
    jPanel7.setFocusTraversalPolicy(newPolicy);
    jPanel7.setPreferredSize(new java.awt.Dimension(590, 460));

    rSubmitBtn.setText("Start");
    rSubmitBtn.setOpaque(false);
    rSubmitBtn.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            rSubmitBtnActionPerformed(evt);
        }
    });

    rFilePath.addFocusListener(new java.awt.event.FocusAdapter() {
        public void focusGained(java.awt.event.FocusEvent evt) {
            rFilePathFocusGained(evt);
        }
    });
    rFilePath.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            rFilePathActionPerformed(evt);
        }
    });

    jButton6.setText("Browse");
    jButton6.setOpaque(false);
    jButton6.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton6ActionPerformed(evt);
        }
    });

    rCurrencyComboBox.setBackground(new java.awt.Color(56, 56, 56, 0));
    rCurrencyComboBox.setModel(new javax.swing.DefaultComboBoxModel<>(
            new String[] { "US Dollar", "British Pound", "Euro", "Yen" }));
    rCurrencyComboBox.setOpaque(false);
    rCurrencyComboBox.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            rCurrencyComboBoxActionPerformed(evt);
        }
    });

    jLabel26.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N
    jLabel26.setForeground(new java.awt.Color(255, 255, 255));
    jLabel26.setText("Select Currency                                           :");

    jLabel9.setForeground(new java.awt.Color(240, 240, 240));
    jLabel9.setText("Training Data Path:");

    jPanel11.setBackground(new java.awt.Color(51, 51, 51));
    jPanel11.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Enter Neurons",
            javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
            javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Segoe UI", 0, 12),
            new java.awt.Color(255, 255, 255))); // NOI18N
    jPanel11.setOpaque(false);

    jLabel10.setForeground(new java.awt.Color(240, 240, 240));
    jLabel10.setText("Input Layer:");
    jLabel10.setToolTipText("");
    jLabel10.setAlignmentY(0.0F);
    jLabel10.setMaximumSize(new java.awt.Dimension(63, 14));
    jLabel10.setMinimumSize(new java.awt.Dimension(63, 14));
    jLabel10.setPreferredSize(new java.awt.Dimension(63, 14));

    jLabel11.setForeground(new java.awt.Color(240, 240, 240));
    jLabel11.setText("Hidden Layer:");

    rHiddenNeurons1.setModel(new javax.swing.SpinnerNumberModel(1, 1, 500, 1));
    JFormattedTextField format5 = ((JSpinner.DefaultEditor) rHiddenNeurons1.getEditor()).getTextField();
    format5.addFocusListener(fcsListener);
    rHiddenNeurons1.setNextFocusableComponent(rHiddenNeurons2);
    rHiddenNeurons1.setOpaque(false);

    jLabel12.setForeground(new java.awt.Color(240, 240, 240));
    jLabel12.setText("Output Layer:");

    jLabel27.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N
    jLabel27.setForeground(new java.awt.Color(255, 153, 102));
    jLabel27.setIcon(
            new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N
    jLabel27.setToolTipText(
            "<html>Enter number of neurons in input layer<br>equal to number of input.<br>Range 1 - 500</html>");
    jLabel27.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

    jLabel28.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N
    jLabel28.setForeground(new java.awt.Color(255, 153, 102));
    jLabel28.setIcon(
            new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N
    jLabel28.setToolTipText(
            "<html>Enter number of neurons in<br> hidden layer of neural network.<br>Range 1 - 500</html>");

    jLabel29.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N
    jLabel29.setForeground(new java.awt.Color(255, 153, 102));
    jLabel29.setIcon(
            new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N
    jLabel29.setToolTipText(
            "<html>Number of neurons in output layer<br> of NN, equal to number of output.</html>");

    rInputNeurons.setModel(new javax.swing.SpinnerNumberModel(1, 1, 500, 1));
    JFormattedTextField format4 = ((JSpinner.DefaultEditor) rInputNeurons.getEditor()).getTextField();
    format4.addFocusListener(fcsListener);
    rInputNeurons.setNextFocusableComponent(rHiddenNeurons1);
    rInputNeurons.setOpaque(false);

    rOutputNeurons.setModel(new javax.swing.SpinnerNumberModel(1, null, null, 1));
    JFormattedTextField format7 = ((JSpinner.DefaultEditor) rOutputNeurons.getEditor()).getTextField();
    format7.addFocusListener(fcsListener);
    rOutputNeurons.setEnabled(false);
    rOutputNeurons.setNextFocusableComponent(rFilePath);
    rOutputNeurons.setOpaque(false);

    rHiddenNeurons2.setModel(new javax.swing.SpinnerNumberModel(1, 1, 500, 1));
    JFormattedTextField format6 = ((JSpinner.DefaultEditor) rHiddenNeurons2.getEditor()).getTextField();
    format6.addFocusListener(fcsListener);
    rHiddenNeurons2.setNextFocusableComponent(rOutputNeurons);
    rHiddenNeurons2.setOpaque(false);

    javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11);
    jPanel11.setLayout(jPanel11Layout);
    jPanel11Layout.setHorizontalGroup(jPanel11Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel11Layout.createSequentialGroup().addGap(34, 34, 34)
                    .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel11Layout.createSequentialGroup()
                                    .addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 67,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jLabel27))
                            .addComponent(rInputNeurons, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(52, 52, 52)
                    .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel11Layout.createSequentialGroup().addComponent(jLabel11)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jLabel28))
                            .addComponent(rHiddenNeurons2, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(rHiddenNeurons1, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(52, 52, 52)
                    .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel11Layout.createSequentialGroup().addComponent(jLabel12)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jLabel29))
                            .addComponent(rOutputNeurons, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(38, 38, 38)));
    jPanel11Layout.setVerticalGroup(jPanel11Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel11Layout.createSequentialGroup().addGap(22, 22, 22).addGroup(jPanel11Layout
                    .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel27, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel28, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel12, javax.swing.GroupLayout.Alignment.TRAILING,
                                    javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jLabel29, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                            javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addGroup(
                            jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel11Layout.createSequentialGroup().addGroup(jPanel11Layout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                            .addComponent(rHiddenNeurons1).addComponent(rOutputNeurons))
                                            .addPreferredGap(
                                                    javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                            .addComponent(rHiddenNeurons2, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addGap(28, 28, 28))
                                    .addGroup(jPanel11Layout.createSequentialGroup()
                                            .addComponent(rInputNeurons, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    Short.MAX_VALUE)))));

    rProgressBar.setForeground(new java.awt.Color(51, 128, 244));
    rProgressBar.setStringPainted(true);

    rFinishBtn.setText("Finish");
    rFinishBtn.setEnabled(false);
    rFinishBtn.setOpaque(false);
    rFinishBtn.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            rFinishBtnActionPerformed(evt);
        }
    });

    jLabel2.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N
    jLabel2.setForeground(new java.awt.Color(255, 255, 255));
    jLabel2.setLabelFor(rSpinner);
    jLabel2.setText("Number of Epoch");

    rSpinner.setModel(new javax.swing.SpinnerNumberModel(500, 1, 50000, 500));
    JFormattedTextField format8 = ((JSpinner.DefaultEditor) rSpinner.getEditor()).getTextField();
    format8.addFocusListener(fcsListener);
    rSpinner.setOpaque(false);

    jLabel30.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N
    jLabel30.setForeground(new java.awt.Color(255, 153, 102));
    jLabel30.setIcon(
            new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N
    jLabel30.setToolTipText(
            "<html>Number of Iteration to train over training data.<br>Range 1 - 50,000</html>");
    jLabel30.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

    jLabel13.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N
    jLabel13.setForeground(new java.awt.Color(255, 255, 255));
    jLabel13.setText("          :");

    javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
    jPanel7.setLayout(jPanel7Layout);
    jPanel7Layout.setHorizontalGroup(
            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel7Layout
                    .createSequentialGroup().addGap(58, 58, 58).addGroup(jPanel7Layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
                                    jPanel7Layout.createSequentialGroup().addGap(224, 224, 224)
                                            .addComponent(testLabel1, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addGap(210, 210, 210))
                            .addGroup(jPanel7Layout.createSequentialGroup().addComponent(jLabel9).addGap(0, 0,
                                    Short.MAX_VALUE))
                            .addGroup(jPanel7Layout.createSequentialGroup().addGroup(jPanel7Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addGroup(jPanel7Layout.createSequentialGroup().addComponent(jLabel26)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                    .addGroup(jPanel7Layout.createSequentialGroup().addComponent(jLabel2)
                                            .addPreferredGap(
                                                    javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                            .addComponent(jLabel30).addGap(88, 88, 88)
                                            .addComponent(jLabel13, javax.swing.GroupLayout.PREFERRED_SIZE, 44,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addGap(111, 111, 111)))
                                    .addGroup(jPanel7Layout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(rCurrencyComboBox,
                                                    javax.swing.GroupLayout.Alignment.TRAILING,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE, 120,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(rSpinner, javax.swing.GroupLayout.Alignment.TRAILING,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE, 120,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel7Layout
                                    .createSequentialGroup().addGap(0, 0, Short.MAX_VALUE)
                                    .addComponent(rSubmitBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(rFinishBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                                    jPanel7Layout.createSequentialGroup()
                                            .addComponent(rFilePath, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(rProgressBar, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGap(70, 70, 70)));
    jPanel7Layout.setVerticalGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel7Layout.createSequentialGroup().addGap(39, 39, 39)
                    .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel26).addComponent(rCurrencyComboBox,
                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel7Layout.createSequentialGroup().addGroup(jPanel7Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addGroup(jPanel7Layout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                            .addComponent(rSpinner).addComponent(jLabel13))
                                    .addComponent(jLabel2)).addGap(17, 17, 17)
                                    .addComponent(jPanel11, javax.swing.GroupLayout.PREFERRED_SIZE, 137,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(18, 18, 18).addComponent(jLabel9))
                            .addComponent(jLabel30, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jButton6).addComponent(rFilePath,
                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(29, 29, 29)
                    .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(rSubmitBtn)
                            .addComponent(rFinishBtn, javax.swing.GroupLayout.Alignment.TRAILING))
                    .addGap(24, 24, 24)
                    .addComponent(rProgressBar, javax.swing.GroupLayout.PREFERRED_SIZE, 15,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(testLabel1).addContainerGap(49, Short.MAX_VALUE)));

    javax.swing.GroupLayout jFrame2Layout = new javax.swing.GroupLayout(jFrame2.getContentPane());
    jFrame2.getContentPane().setLayout(jFrame2Layout);
    jFrame2Layout
            .setHorizontalGroup(jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGap(0, 601, Short.MAX_VALUE)
                    .addGroup(jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jFrame2Layout.createSequentialGroup()
                                    .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, 601,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(0, 0, Short.MAX_VALUE))));
    jFrame2Layout.setVerticalGroup(jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 460, Short.MAX_VALUE)
            .addGroup(jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jFrame2Layout.createSequentialGroup()
                            .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(0, 0, Short.MAX_VALUE))));

    Vector<Component> order = new Vector<Component>(10);
    order.add(rCurrencyComboBox);
    order.add(format8);
    order.add(format4);
    order.add(format5);
    order.add(format6);
    order.add(rFilePath);
    order.add(jButton6);
    order.add(rSubmitBtn);

    newPolicy = new MyOwnFocusTraversalPolicy(order);
    jPanel7.setFocusTraversalPolicy(newPolicy);

    jFrame2.setLocationRelativeTo(null);

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setTitle("Exchange Rate Forecast");
    setIconImage(iconImage);

    jPanel1.setOpaque(false);
    jPanel1.setPreferredSize(new java.awt.Dimension(1360, 610));

    jTabbedPane1.setBackground(new java.awt.Color(204, 204, 204));
    jTabbedPane1.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT);
    jTabbedPane1.setAlignmentX(0.0F);
    jTabbedPane1.setAlignmentY(0.0F);
    jTabbedPane1.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION);
    jTabbedPane1.setOpaque(true);

    jPanel3.setBackground(new java.awt.Color(255, 204, 0));
    jPanel3.setForeground(new java.awt.Color(255, 255, 255));

    jPanel14.setBackground(new java.awt.Color(56, 56, 56, 30));
    jPanel14.setForeground(new java.awt.Color(255, 255, 255));
    jPanel14.setOpaque(false);

    jTextArea1.setEditable(false);
    jTextArea1.setBackground(new java.awt.Color(38, 50, 56, 220));
    jTextArea1.setColumns(20);
    jTextArea1.setFont(new java.awt.Font("Segoe UI Semilight", 0, 28)); // NOI18N
    jTextArea1.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea1.setRows(5);
    jTextArea1.setText("Forecasting Foreign Exchange Rate Using Neural Network");
    jTextArea1.setAlignmentX(2.0F);
    jTextArea1.setAlignmentY(2.0F);
    jTextArea1.setAutoscrolls(false);
    jTextArea1.setCaretColor(new java.awt.Color(204, 255, 102));
    jTextArea1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
    jTextArea1.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea1.setEnabled(false);
    jTextArea1.setFocusable(false);
    jTextArea1.setMargin(new java.awt.Insets(10, 10, 10, 10));
    jTextArea1.setOpaque(false);
    jTextArea1.setRequestFocusEnabled(false);
    jTextArea1.setSelectedTextColor(new java.awt.Color(255, 0, 0));
    jTextArea1.setSelectionColor(new java.awt.Color(255, 51, 51));
    jTextArea1.setSelectionEnd(0);
    jTextArea1.setSelectionStart(0);
    jTextArea1.setVerifyInputWhenFocusTarget(false);

    jPanel4.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel4.setForeground(new java.awt.Color(255, 255, 255));
    jPanel4.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
    jPanel4.setInheritsPopupMenu(true);
    jPanel4.setOpaque(false);
    jPanel4.setPreferredSize(new java.awt.Dimension(400, 58));
    jPanel4.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseExited(java.awt.event.MouseEvent evt) {
            jPanel4MouseExited(evt);
        }

        public void mouseClicked(java.awt.event.MouseEvent evt) {
            jPanel4MouseClicked(evt);
        }

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jPanel4MouseEntered(evt);
        }
    });

    jTextArea4.setEditable(false);
    jTextArea4.setBackground(new java.awt.Color(255, 255, 255, 180));
    jTextArea4.setColumns(20);
    jTextArea4.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    jTextArea4.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea4.setRows(5);
    jTextArea4.setText("Feed Forward Neural Network");
    jTextArea4.setAlignmentX(2.0F);
    jTextArea4.setAlignmentY(2.0F);
    jTextArea4.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
    jTextArea4.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION);
    jTextArea4.setDisabledTextColor(new java.awt.Color(51, 51, 51));
    jTextArea4.setEnabled(false);
    jTextArea4.setFocusable(false);
    jTextArea4.setOpaque(false);
    jTextArea4.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseExited(java.awt.event.MouseEvent evt) {
            jTextArea4MouseExited(evt);
        }

        public void mouseClicked(java.awt.event.MouseEvent evt) {
            jTextArea4MouseClicked(evt);
        }

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jTextArea4MouseEntered(evt);
        }
    });

    javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
    jPanel4.setLayout(jPanel4Layout);
    jPanel4Layout
            .setHorizontalGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel4Layout.createSequentialGroup().addGap(175, 175, 175)
                            .addComponent(jTextArea4, javax.swing.GroupLayout.PREFERRED_SIZE, 245,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(114, Short.MAX_VALUE)));
    jPanel4Layout
            .setVerticalGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel4Layout.createSequentialGroup().addGap(16, 16, 16).addComponent(jTextArea4,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(16, 16, 16)));

    jPanel6.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel6.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
    jPanel6.setInheritsPopupMenu(true);
    jPanel6.setOpaque(false);
    jPanel6.setPreferredSize(new java.awt.Dimension(400, 58));
    jPanel6.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseExited(java.awt.event.MouseEvent evt) {
            jPanel6MouseExited(evt);
        }

        public void mouseClicked(java.awt.event.MouseEvent evt) {
            jPanel6MouseClicked(evt);
        }

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jPanel6MouseEntered(evt);
        }
    });

    jTextArea5.setEditable(false);
    jTextArea5.setBackground(new java.awt.Color(255, 255, 255, 180));
    jTextArea5.setColumns(20);
    jTextArea5.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    jTextArea5.setForeground(new java.awt.Color(51, 51, 51));
    jTextArea5.setRows(5);
    jTextArea5.setText("Recurrent Neural Network");
    jTextArea5.setAlignmentX(2.0F);
    jTextArea5.setAlignmentY(2.0F);
    jTextArea5.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
    jTextArea5.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION);
    jTextArea5.setDisabledTextColor(new java.awt.Color(51, 51, 51));
    jTextArea5.setEnabled(false);
    jTextArea5.setFocusable(false);
    jTextArea5.setOpaque(false);
    jTextArea5.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseExited(java.awt.event.MouseEvent evt) {
            jTextArea5MouseExited(evt);
        }

        public void mouseClicked(java.awt.event.MouseEvent evt) {
            jTextArea5MouseClicked(evt);
        }

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jTextArea5MouseEntered(evt);
        }
    });

    javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
    jPanel6.setLayout(jPanel6Layout);
    jPanel6Layout.setHorizontalGroup(jPanel6Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
                    .addContainerGap(181, Short.MAX_VALUE).addComponent(jTextArea5,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 245, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(113, 113, 113)));
    jPanel6Layout
            .setVerticalGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel6Layout.createSequentialGroup().addGap(16, 16, 16).addComponent(jTextArea5,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(16, 16, 16)));

    jPanel15.setBackground(new java.awt.Color(38, 50, 56, 220));
    jPanel15.setForeground(new java.awt.Color(51, 51, 51));
    jPanel15.setDoubleBuffered(false);
    jPanel15.setEnabled(false);
    jPanel15.setFocusable(false);
    jPanel15.setOpaque(false);

    jTextArea3.setEditable(false);
    jTextArea3.setBackground(new java.awt.Color(38, 50, 56, 0));
    jTextArea3.setColumns(20);
    jTextArea3.setFont(new java.awt.Font("Segoe UI", 0, 20)); // NOI18N
    jTextArea3.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea3.setRows(5);
    jTextArea3.setText("CURRENCY");
    jTextArea3.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea3.setEnabled(false);
    jTextArea3.setOpaque(false);

    javax.swing.GroupLayout jPanel15Layout = new javax.swing.GroupLayout(jPanel15);
    jPanel15.setLayout(jPanel15Layout);
    jPanel15Layout.setHorizontalGroup(jPanel15Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel15Layout.createSequentialGroup()
                    .addContainerGap(237, Short.MAX_VALUE).addComponent(jTextArea3,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(183, 183, 183)));
    jPanel15Layout
            .setVerticalGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel15Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea3,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel16.setBackground(new java.awt.Color(1, 87, 155, 220));
    jPanel16.setDoubleBuffered(false);
    jPanel16.setEnabled(false);
    jPanel16.setFocusable(false);
    jPanel16.setOpaque(false);

    jTextArea6.setEditable(false);
    jTextArea6.setColumns(20);
    jTextArea6.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    jTextArea6.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea6.setRows(5);
    jTextArea6.setText("USD / INR");
    jTextArea6.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea6.setEnabled(false);
    jTextArea6.setOpaque(false);

    javax.swing.GroupLayout jPanel16Layout = new javax.swing.GroupLayout(jPanel16);
    jPanel16.setLayout(jPanel16Layout);
    jPanel16Layout
            .setHorizontalGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel16Layout.createSequentialGroup().addGap(244, 244, 244)
                                    .addComponent(jTextArea6, javax.swing.GroupLayout.PREFERRED_SIZE, 98,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(192, Short.MAX_VALUE)));
    jPanel16Layout
            .setVerticalGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel16Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea6,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel17.setBackground(new java.awt.Color(1, 87, 155, 220));
    jPanel17.setDoubleBuffered(false);
    jPanel17.setEnabled(false);
    jPanel17.setFocusable(false);
    jPanel17.setOpaque(false);

    jTextArea7.setEditable(false);
    jTextArea7.setColumns(20);
    jTextArea7.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    jTextArea7.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea7.setRows(5);
    jTextArea7.setText("GBP / INR");
    jTextArea7.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea7.setEnabled(false);
    jTextArea7.setOpaque(false);

    javax.swing.GroupLayout jPanel17Layout = new javax.swing.GroupLayout(jPanel17);
    jPanel17.setLayout(jPanel17Layout);
    jPanel17Layout
            .setHorizontalGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel17Layout.createSequentialGroup().addGap(244, 244, 244)
                                    .addComponent(jTextArea7, javax.swing.GroupLayout.PREFERRED_SIZE, 98,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(192, Short.MAX_VALUE)));
    jPanel17Layout
            .setVerticalGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel17Layout.createSequentialGroup().addGap(11, 11, 11)
                            .addComponent(jTextArea7, javax.swing.GroupLayout.DEFAULT_SIZE, 31, Short.MAX_VALUE)
                            .addGap(11, 11, 11)));

    jPanel18.setBackground(new java.awt.Color(1, 87, 155, 220));
    jPanel18.setDoubleBuffered(false);
    jPanel18.setEnabled(false);
    jPanel18.setFocusable(false);
    jPanel18.setOpaque(false);

    jTextArea8.setEditable(false);
    jTextArea8.setColumns(20);
    jTextArea8.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    jTextArea8.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea8.setRows(5);
    jTextArea8.setText("EUR / INR");
    jTextArea8.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea8.setEnabled(false);
    jTextArea8.setOpaque(false);

    javax.swing.GroupLayout jPanel18Layout = new javax.swing.GroupLayout(jPanel18);
    jPanel18.setLayout(jPanel18Layout);
    jPanel18Layout
            .setHorizontalGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel18Layout.createSequentialGroup().addGap(244, 244, 244)
                                    .addComponent(jTextArea8, javax.swing.GroupLayout.PREFERRED_SIZE, 98,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(192, Short.MAX_VALUE)));
    jPanel18Layout
            .setVerticalGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel18Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea8,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel19.setBackground(new java.awt.Color(1, 87, 155, 220));
    jPanel19.setForeground(new java.awt.Color(255, 255, 255));
    jPanel19.setDoubleBuffered(false);
    jPanel19.setEnabled(false);
    jPanel19.setFocusable(false);
    jPanel19.setOpaque(false);

    jTextArea9.setEditable(false);
    jTextArea9.setColumns(20);
    jTextArea9.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    jTextArea9.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea9.setRows(5);
    jTextArea9.setText("YEN / INR");
    jTextArea9.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea9.setEnabled(false);
    jTextArea9.setOpaque(false);

    javax.swing.GroupLayout jPanel19Layout = new javax.swing.GroupLayout(jPanel19);
    jPanel19.setLayout(jPanel19Layout);
    jPanel19Layout
            .setHorizontalGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel19Layout.createSequentialGroup().addGap(244, 244, 244)
                                    .addComponent(jTextArea9, javax.swing.GroupLayout.PREFERRED_SIZE, 98,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(192, Short.MAX_VALUE)));
    jPanel19Layout
            .setVerticalGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel19Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea9,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel20.setBackground(new java.awt.Color(38, 50, 56, 220));
    jPanel20.setForeground(new java.awt.Color(51, 51, 51));
    jPanel20.setDoubleBuffered(false);
    jPanel20.setEnabled(false);
    jPanel20.setFocusable(false);
    jPanel20.setOpaque(false);

    jTextArea10.setEditable(false);
    jTextArea10.setBackground(new java.awt.Color(38, 50, 56, 0));
    jTextArea10.setColumns(20);
    jTextArea10.setFont(new java.awt.Font("Segoe UI", 0, 20)); // NOI18N
    jTextArea10.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea10.setRows(5);
    jTextArea10.setText("TODAY");
    jTextArea10.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea10.setEnabled(false);
    jTextArea10.setOpaque(false);

    javax.swing.GroupLayout jPanel20Layout = new javax.swing.GroupLayout(jPanel20);
    jPanel20.setLayout(jPanel20Layout);
    jPanel20Layout
            .setHorizontalGroup(jPanel20Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel20Layout.createSequentialGroup().addGap(101, 101, 101)
                            .addComponent(jTextArea10, javax.swing.GroupLayout.PREFERRED_SIZE, 78,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(85, Short.MAX_VALUE)));
    jPanel20Layout.setVerticalGroup(jPanel20Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel20Layout
                    .createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea10,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(11, 11, 11)));

    jPanel21.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel21.setDoubleBuffered(false);
    jPanel21.setEnabled(false);
    jPanel21.setFocusable(false);
    jPanel21.setOpaque(false);

    todayText1.setEditable(false);
    todayText1.setBackground(new java.awt.Color(255, 255, 255, 0));
    todayText1.setColumns(20);
    todayText1.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    todayText1.setRows(5);
    todayText1.setText("    --");
    todayText1.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    todayText1.setEnabled(false);
    todayText1.setOpaque(false);

    javax.swing.GroupLayout jPanel21Layout = new javax.swing.GroupLayout(jPanel21);
    jPanel21.setLayout(jPanel21Layout);
    jPanel21Layout
            .setHorizontalGroup(jPanel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel21Layout.createSequentialGroup().addGap(102, 102, 102)
                            .addComponent(todayText1, javax.swing.GroupLayout.PREFERRED_SIZE, 71,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(91, Short.MAX_VALUE)));
    jPanel21Layout
            .setVerticalGroup(jPanel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel21Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(todayText1,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel22.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel22.setDoubleBuffered(false);
    jPanel22.setEnabled(false);
    jPanel22.setFocusable(false);
    jPanel22.setOpaque(false);

    todayText2.setEditable(false);
    todayText2.setBackground(new java.awt.Color(255, 255, 255, 0));
    todayText2.setColumns(20);
    todayText2.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    todayText2.setRows(5);
    todayText2.setText("    --");
    todayText2.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    todayText2.setEnabled(false);
    todayText2.setOpaque(false);

    javax.swing.GroupLayout jPanel22Layout = new javax.swing.GroupLayout(jPanel22);
    jPanel22.setLayout(jPanel22Layout);
    jPanel22Layout
            .setHorizontalGroup(jPanel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel22Layout.createSequentialGroup().addGap(102, 102, 102)
                            .addComponent(todayText2, javax.swing.GroupLayout.PREFERRED_SIZE, 71,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(91, Short.MAX_VALUE)));
    jPanel22Layout
            .setVerticalGroup(jPanel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel22Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(todayText2,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel23.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel23.setDoubleBuffered(false);
    jPanel23.setEnabled(false);
    jPanel23.setFocusable(false);
    jPanel23.setOpaque(false);

    todayText3.setEditable(false);
    todayText3.setBackground(new java.awt.Color(255, 255, 255, 0));
    todayText3.setColumns(20);
    todayText3.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    todayText3.setRows(5);
    todayText3.setText("    --");
    todayText3.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    todayText3.setEnabled(false);
    todayText3.setOpaque(false);

    javax.swing.GroupLayout jPanel23Layout = new javax.swing.GroupLayout(jPanel23);
    jPanel23.setLayout(jPanel23Layout);
    jPanel23Layout
            .setHorizontalGroup(jPanel23Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel23Layout.createSequentialGroup().addGap(102, 102, 102)
                            .addComponent(todayText3, javax.swing.GroupLayout.PREFERRED_SIZE, 71,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(91, Short.MAX_VALUE)));
    jPanel23Layout
            .setVerticalGroup(jPanel23Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel23Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(todayText3,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel24.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel24.setDoubleBuffered(false);
    jPanel24.setEnabled(false);
    jPanel24.setFocusable(false);
    jPanel24.setOpaque(false);

    todayText4.setEditable(false);
    todayText4.setBackground(new java.awt.Color(255, 255, 255, 0));
    todayText4.setColumns(20);
    todayText4.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    todayText4.setRows(5);
    todayText4.setText("    --");
    todayText4.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    todayText4.setEnabled(false);
    todayText4.setOpaque(false);

    javax.swing.GroupLayout jPanel24Layout = new javax.swing.GroupLayout(jPanel24);
    jPanel24.setLayout(jPanel24Layout);
    jPanel24Layout
            .setHorizontalGroup(jPanel24Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel24Layout.createSequentialGroup().addGap(102, 102, 102)
                            .addComponent(todayText4, javax.swing.GroupLayout.PREFERRED_SIZE, 71,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(91, Short.MAX_VALUE)));
    jPanel24Layout
            .setVerticalGroup(jPanel24Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel24Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(todayText4,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel25.setBackground(new java.awt.Color(38, 50, 56, 220));
    jPanel25.setForeground(new java.awt.Color(51, 51, 51));
    jPanel25.setDoubleBuffered(false);
    jPanel25.setEnabled(false);
    jPanel25.setFocusable(false);
    jPanel25.setOpaque(false);

    jTextArea15.setEditable(false);
    jTextArea15.setBackground(new java.awt.Color(38, 50, 56, 0));
    jTextArea15.setColumns(20);
    jTextArea15.setFont(new java.awt.Font("Segoe UI", 0, 20)); // NOI18N
    jTextArea15.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea15.setRows(5);
    jTextArea15.setText("TOMORROW");
    jTextArea15.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea15.setEnabled(false);
    jTextArea15.setOpaque(false);
    jTextArea15.setRequestFocusEnabled(false);
    jTextArea15.setVerifyInputWhenFocusTarget(false);

    javax.swing.GroupLayout jPanel25Layout = new javax.swing.GroupLayout(jPanel25);
    jPanel25.setLayout(jPanel25Layout);
    jPanel25Layout
            .setHorizontalGroup(jPanel25Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel25Layout.createSequentialGroup()
                                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jTextArea15, javax.swing.GroupLayout.PREFERRED_SIZE, 132,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
    jPanel25Layout.setVerticalGroup(jPanel25Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel25Layout
                    .createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea15,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(11, 11, 11)));

    jPanel26.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel26.setDoubleBuffered(false);
    jPanel26.setEnabled(false);
    jPanel26.setFocusable(false);
    jPanel26.setOpaque(false);

    tmrwText1.setEditable(false);
    tmrwText1.setBackground(new java.awt.Color(255, 255, 255, 0));
    tmrwText1.setColumns(20);
    tmrwText1.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    tmrwText1.setRows(5);
    tmrwText1.setText("      --");
    tmrwText1.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    tmrwText1.setEnabled(false);
    tmrwText1.setOpaque(false);

    javax.swing.GroupLayout jPanel26Layout = new javax.swing.GroupLayout(jPanel26);
    jPanel26.setLayout(jPanel26Layout);
    jPanel26Layout
            .setHorizontalGroup(jPanel26Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel26Layout.createSequentialGroup()
                                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(tmrwText1, javax.swing.GroupLayout.PREFERRED_SIZE, 97,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
    jPanel26Layout
            .setVerticalGroup(jPanel26Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel26Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(tmrwText1,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel27.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel27.setDoubleBuffered(false);
    jPanel27.setEnabled(false);
    jPanel27.setFocusable(false);
    jPanel27.setOpaque(false);

    tmrwText2.setEditable(false);
    tmrwText2.setBackground(new java.awt.Color(255, 255, 255, 0));
    tmrwText2.setColumns(20);
    tmrwText2.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    tmrwText2.setRows(5);
    tmrwText2.setText("      --");
    tmrwText2.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    tmrwText2.setEnabled(false);
    tmrwText2.setOpaque(false);

    javax.swing.GroupLayout jPanel27Layout = new javax.swing.GroupLayout(jPanel27);
    jPanel27.setLayout(jPanel27Layout);
    jPanel27Layout
            .setHorizontalGroup(jPanel27Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel27Layout.createSequentialGroup()
                                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(tmrwText2, javax.swing.GroupLayout.PREFERRED_SIZE, 97,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(85, 85, 85)));
    jPanel27Layout.setVerticalGroup(
            jPanel27Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
                    javax.swing.GroupLayout.Alignment.TRAILING,
                    jPanel27Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(tmrwText2,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel28.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel28.setDoubleBuffered(false);
    jPanel28.setEnabled(false);
    jPanel28.setFocusable(false);
    jPanel28.setOpaque(false);

    tmrwText3.setEditable(false);
    tmrwText3.setBackground(new java.awt.Color(255, 255, 255, 0));
    tmrwText3.setColumns(20);
    tmrwText3.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    tmrwText3.setRows(5);
    tmrwText3.setText("      --");
    tmrwText3.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    tmrwText3.setEnabled(false);
    tmrwText3.setOpaque(false);

    javax.swing.GroupLayout jPanel28Layout = new javax.swing.GroupLayout(jPanel28);
    jPanel28.setLayout(jPanel28Layout);
    jPanel28Layout
            .setHorizontalGroup(jPanel28Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel28Layout.createSequentialGroup().addGap(83, 83, 83)
                            .addComponent(tmrwText3, javax.swing.GroupLayout.PREFERRED_SIZE, 97,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
    jPanel28Layout
            .setVerticalGroup(jPanel28Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel28Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(tmrwText3,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel29.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel29.setDoubleBuffered(false);
    jPanel29.setEnabled(false);
    jPanel29.setFocusable(false);
    jPanel29.setOpaque(false);

    tmrwText4.setEditable(false);
    tmrwText4.setBackground(new java.awt.Color(255, 255, 255, 0));
    tmrwText4.setColumns(20);
    tmrwText4.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    tmrwText4.setRows(5);
    tmrwText4.setText("      --");
    tmrwText4.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    tmrwText4.setEnabled(false);
    tmrwText4.setOpaque(false);

    javax.swing.GroupLayout jPanel29Layout = new javax.swing.GroupLayout(jPanel29);
    jPanel29.setLayout(jPanel29Layout);
    jPanel29Layout
            .setHorizontalGroup(jPanel29Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel29Layout.createSequentialGroup().addGap(83, 83, 83)
                            .addComponent(tmrwText4, javax.swing.GroupLayout.PREFERRED_SIZE, 97,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
    jPanel29Layout
            .setVerticalGroup(jPanel29Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel29Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(tmrwText4,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    statusLabel.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
    statusLabel.setForeground(new java.awt.Color(0, 51, 0));
    statusLabel.setText("Fetching Todays Data From Internet ...");

    javax.swing.GroupLayout jPanel14Layout = new javax.swing.GroupLayout(jPanel14);
    jPanel14.setLayout(jPanel14Layout);
    jPanel14Layout.setHorizontalGroup(jPanel14Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel14Layout.createSequentialGroup().addGap(144, 144, 144).addGroup(jPanel14Layout
                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel14Layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jTextArea1)
                            .addGroup(jPanel14Layout.createSequentialGroup()
                                    .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, 534,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(10, 10, 10).addComponent(jPanel6,
                                            javax.swing.GroupLayout.PREFERRED_SIZE, 539,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel14Layout.createSequentialGroup().addGroup(jPanel14Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jPanel19, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jPanel15, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jPanel16, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jPanel17, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jPanel18, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGap(10, 10, 10)
                                    .addGroup(jPanel14Layout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                                                    false)
                                            .addComponent(jPanel21, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(jPanel22, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(jPanel20, javax.swing.GroupLayout.Alignment.LEADING,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(jPanel23, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(jPanel24, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGap(10, 10, 10)
                                    .addGroup(jPanel14Layout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                            .addComponent(jPanel28, javax.swing.GroupLayout.Alignment.LEADING,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addComponent(jPanel26, javax.swing.GroupLayout.Alignment.LEADING,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addComponent(jPanel27, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addComponent(jPanel29, javax.swing.GroupLayout.Alignment.LEADING,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addComponent(jPanel25, javax.swing.GroupLayout.Alignment.LEADING,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                    .addComponent(statusLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 600,
                            javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(144, Short.MAX_VALUE)));
    jPanel14Layout.setVerticalGroup(jPanel14Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel14Layout.createSequentialGroup().addContainerGap(90, Short.MAX_VALUE)
                    .addComponent(jTextArea1, javax.swing.GroupLayout.PREFERRED_SIZE, 60,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(20, 20, 20)
                    .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel14Layout.createSequentialGroup().addGroup(jPanel14Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel14Layout.createSequentialGroup()
                                            .addComponent(jPanel20, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addGap(6, 6, 6)
                                            .addComponent(jPanel21, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jPanel22, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jPanel23, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel14Layout
                                            .createSequentialGroup()
                                            .addComponent(jPanel15, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jPanel16, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jPanel17, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jPanel18, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)))
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jPanel24, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel14Layout.createSequentialGroup()
                                    .addComponent(jPanel25, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jPanel26, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jPanel27, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jPanel28, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jPanel29, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jPanel19, javax.swing.GroupLayout.Alignment.TRAILING,
                                    javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(20, 20, 20)
                    .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(statusLabel).addGap(24, 24, 24)));

    javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
    jPanel3.setLayout(jPanel3Layout);
    jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel14,
                    javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE,
                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE));
    jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel14,
                    javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE,
                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE));

    jTabbedPane1.addTab("          Home          ", jPanel3);

    jPanel10.setBackground(new java.awt.Color(38, 50, 56, 220));
    jPanel10.setDoubleBuffered(false);
    jPanel10.setEnabled(false);
    jPanel10.setFocusable(false);
    jPanel10.setOpaque(false);

    jLabel8.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    jLabel8.setForeground(new java.awt.Color(255, 255, 255));
    jLabel8.setText("Select Currency:");

    CurrencyComboBox.setBackground(new java.awt.Color(56, 56, 56, 0));
    CurrencyComboBox.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    CurrencyComboBox.setModel(new javax.swing.DefaultComboBoxModel<>(
            new String[] { "US Dollar", "British Pound", "Euro", "Yen" }));
    CurrencyComboBox.setAlignmentX(2.0F);
    CurrencyComboBox.setOpaque(false);

    jLabel7.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    jLabel7.setForeground(new java.awt.Color(255, 255, 255));
    jLabel7.setText("Testing Data:");

    testingDataPath.setBackground(new java.awt.Color(255, 255, 255, 200));
    testingDataPath.setMargin(new java.awt.Insets(2, 4, 2, 2));
    testingDataPath.setOpaque(false);
    testingDataPath.addFocusListener(new java.awt.event.FocusAdapter() {
        public void focusGained(java.awt.event.FocusEvent evt) {
            testingDataPathFocusGained(evt);
        }
    });
    testingDataPath.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            testingDataPathMouseClicked(evt);
        }
    });
    testingDataPath.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            testingDataPathActionPerformed(evt);
        }
    });

    testingBrowseBtn.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    testingBrowseBtn.setText("Browse");
    testingBrowseBtn.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            testingBrowseBtnActionPerformed(evt);
        }
    });

    forecastBtn.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    forecastBtn.setText("Forecast");
    forecastBtn.setOpaque(false);
    forecastBtn.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            forecastBtnActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10);
    jPanel10.setLayout(jPanel10Layout);
    jPanel10Layout.setHorizontalGroup(jPanel10Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel10Layout.createSequentialGroup().addGap(18, 18, 18)
                    .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 101,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(CurrencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 108,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(31, 31, 31).addComponent(jLabel7)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(testingDataPath, javax.swing.GroupLayout.PREFERRED_SIZE, 280,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(testingBrowseBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 86,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(forecastBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 142,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(20, 20, 20)));
    jPanel10Layout.setVerticalGroup(jPanel10Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel10Layout.createSequentialGroup().addGap(22, 22, 22)
                    .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel8)
                            .addComponent(CurrencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 31,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel7)
                            .addComponent(testingDataPath, javax.swing.GroupLayout.PREFERRED_SIZE, 31,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(testingBrowseBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 31,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(forecastBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 31,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(22, Short.MAX_VALUE)));

    jScrollPane1.setEnabled(false);
    jScrollPane1.setFocusable(false);
    jScrollPane1.setPreferredSize(new java.awt.Dimension(805, 100));

    //forecastTable.getTableHeader().setOpaque(false);
    //forecastTable.getTableHeader().setBackground(new java.awt.Color(0,150,136,220));
    forecastTable.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
    forecastTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object[][] { { "", "", "", "" }, { null, null, null, null }, { null, null, null, null },
                    { null, null, null, null } },
            new String[] { "  Date", "  Input", "  Expected Output", "  Actual Output" }) {
        Class[] types = new Class[] { java.lang.String.class, java.lang.String.class, java.lang.String.class,
                java.lang.String.class };
        boolean[] canEdit = new boolean[] { false, true, false, false };

        public Class getColumnClass(int columnIndex) {
            return types[columnIndex];
        }

        public boolean isCellEditable(int rowIndex, int columnIndex) {
            return canEdit[columnIndex];
        }
    });
    forecastTable.setAlignmentX(20.0F);
    forecastTable.setAlignmentY(20.0F);
    forecastTable.setGridColor(new java.awt.Color(153, 153, 153));
    forecastTable.setIntercellSpacing(new java.awt.Dimension(20, 10));
    forecastTable.setRowHeight(30);
    forecastTable.getTableHeader().setResizingAllowed(false);
    forecastTable.getTableHeader().setReorderingAllowed(false);
    forecastTable.addFocusListener(new java.awt.event.FocusAdapter() {
        public void focusLost(java.awt.event.FocusEvent evt) {
            forecastTableFocusLost(evt);
        }
    });
    jScrollPane1.setViewportView(forecastTable);
    if (forecastTable.getColumnModel().getColumnCount() > 0) {
        forecastTable.getColumnModel().getColumn(0).setMinWidth(150);
        forecastTable.getColumnModel().getColumn(0).setPreferredWidth(150);
        forecastTable.getColumnModel().getColumn(0).setMaxWidth(150);
        forecastTable.getColumnModel().getColumn(1).setMinWidth(550);
        forecastTable.getColumnModel().getColumn(1).setPreferredWidth(550);
        forecastTable.getColumnModel().getColumn(1).setMaxWidth(550);
        forecastTable.getColumnModel().getColumn(1).setCellEditor(dce);
    }

    jPanel12.setBackground(new java.awt.Color(38, 50, 56, 220));
    jPanel12.setOpaque(false);

    jPanel13.setBackground(new java.awt.Color(56, 56, 56, 180));
    jPanel13.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Select Algorithm",
            javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
            javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Segoe UI", 0, 12),
            new java.awt.Color(255, 255, 255))); // NOI18N
    jPanel13.setOpaque(false);

    jRadioButton2.setBackground(new java.awt.Color(56, 56, 56, 180));
    buttonGroup1.add(jRadioButton2);
    jRadioButton2.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    jRadioButton2.setForeground(new java.awt.Color(255, 255, 255));
    jRadioButton2.setText("Recurrent Neural Network");
    jRadioButton2.setContentAreaFilled(false);
    jRadioButton2.addItemListener(new java.awt.event.ItemListener() {
        public void itemStateChanged(java.awt.event.ItemEvent evt) {
            jRadioButton2ItemStateChanged(evt);
        }
    });

    jRadioButton1.setBackground(new java.awt.Color(56, 56, 56, 180));
    buttonGroup1.add(jRadioButton1);
    jRadioButton1.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    jRadioButton1.setForeground(new java.awt.Color(255, 255, 255));
    jRadioButton1.setSelected(true);
    jRadioButton1.setText("Feed Forward Neural Network");
    jRadioButton1.setContentAreaFilled(false);
    jRadioButton1.addItemListener(new java.awt.event.ItemListener() {
        public void itemStateChanged(java.awt.event.ItemEvent evt) {
            jRadioButton1ItemStateChanged(evt);
        }
    });

    javax.swing.GroupLayout jPanel13Layout = new javax.swing.GroupLayout(jPanel13);
    jPanel13.setLayout(jPanel13Layout);
    jPanel13Layout
            .setHorizontalGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel13Layout.createSequentialGroup().addGap(95, 95, 95)
                                    .addComponent(jRadioButton1).addGap(102, 102, 102)
                                    .addComponent(jRadioButton2).addContainerGap(116, Short.MAX_VALUE)));
    jPanel13Layout.setVerticalGroup(jPanel13Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel13Layout.createSequentialGroup()
                    .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jRadioButton1).addComponent(jRadioButton2))
                    .addGap(0, 0, Short.MAX_VALUE)));

    javax.swing.GroupLayout jPanel12Layout = new javax.swing.GroupLayout(jPanel12);
    jPanel12.setLayout(jPanel12Layout);
    jPanel12Layout.setHorizontalGroup(jPanel12Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel12Layout.createSequentialGroup().addContainerGap()
                    .addComponent(jPanel13, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
    jPanel12Layout.setVerticalGroup(jPanel12Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel12Layout.createSequentialGroup().addContainerGap()
                    .addComponent(jPanel13, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

    jPanel2.setBackground(new java.awt.Color(38, 50, 56, 220));
    jPanel2.setOpaque(false);

    doneButton1.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    doneButton1.setText("Train NN");
    doneButton1.setOpaque(false);
    doneButton1.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            doneButton1MouseClicked(evt);
        }
    });
    doneButton1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            doneButton1ActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
    jPanel2.setLayout(jPanel2Layout);
    jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
                    javax.swing.GroupLayout.Alignment.TRAILING,
                    jPanel2Layout.createSequentialGroup().addGap(28, 28, 28).addComponent(doneButton1,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(21, 21, 21)));
    jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                    jPanel2Layout.createSequentialGroup().addGap(22, 22, 22).addComponent(doneButton1,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(23, 23, 23)));

    jPanel30.setBackground(new java.awt.Color(38, 50, 56, 220));
    jPanel30.setDoubleBuffered(false);
    jPanel30.setEnabled(false);
    jPanel30.setFocusable(false);
    jPanel30.setOpaque(false);

    graphBtn.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    graphBtn.setText("Plot Graph");
    graphBtn.setOpaque(false);
    graphBtn.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            graphBtnActionPerformed(evt);
        }
    });

    jButton1.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    jButton1.setText("Reset");
    jButton1.setOpaque(false);
    jButton1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton1ActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout jPanel30Layout = new javax.swing.GroupLayout(jPanel30);
    jPanel30.setLayout(jPanel30Layout);
    jPanel30Layout.setHorizontalGroup(jPanel30Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel30Layout.createSequentialGroup().addContainerGap()
                    .addGroup(jPanel30Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(graphBtn, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addContainerGap()));
    jPanel30Layout
            .setVerticalGroup(jPanel30Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel30Layout.createSequentialGroup().addGap(22, 22, 22)
                            .addComponent(graphBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 31,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(59, 59, 59).addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE,
                                    31, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(22, 22, 22)));

    javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
    jPanel8.setLayout(jPanel8Layout);
    jPanel8Layout.setHorizontalGroup(jPanel8Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel8Layout.createSequentialGroup().addGap(148, 148, 148).addGroup(jPanel8Layout
                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 1089,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jPanel8Layout.createSequentialGroup()
                            .addGroup(jPanel8Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addGroup(jPanel8Layout.createSequentialGroup()
                                            .addComponent(jPanel12, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addGap(10, 10, 10)
                                            .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addComponent(jPanel10, javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                            .addComponent(jPanel30, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                    .addContainerGap(134, Short.MAX_VALUE)));
    jPanel8Layout.setVerticalGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                    jPanel8Layout.createSequentialGroup().addGap(84, 84, 84).addGroup(jPanel8Layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(jPanel8Layout.createSequentialGroup().addGroup(jPanel8Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(jPanel12, javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                    .addGap(11, 11, 11).addComponent(jPanel10,
                                            javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jPanel30, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 376,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(36, 36, 36)));

    jTabbedPane1.addTab("          Forecast          ", jPanel8);

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(jPanel1Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jTabbedPane1,
                    javax.swing.GroupLayout.PREFERRED_SIZE, 1376, javax.swing.GroupLayout.PREFERRED_SIZE));
    jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 614, Short.MAX_VALUE));

    jTabbedPane1.getAccessibleContext().setAccessibleName("Home");

    jScrollPane2.setViewportView(jPanel1);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING,
                    javax.swing.GroupLayout.DEFAULT_SIZE, 1371, Short.MAX_VALUE));
    layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(
            jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 586,
            Short.MAX_VALUE));

    pack();
}

From source file:com.gele.tools.wow.wdbearmanager.WDBearManager.java

public void init(String[] args) {

    // copy ARGs//from ww  w  .  j  a  va 2 s.  co  m
    this.parseCommandLine(args);

    // Usefull for debugging
    this.myLogger.debug("java.version: " + System.getProperty("java.version"));
    this.myLogger.debug("java.vendor: " + System.getProperty("java.vendor"));
    this.myLogger.debug("java.vendor.url: " + System.getProperty("java.vendor.url"));
    this.myLogger.debug("os.name: " + System.getProperty("os.name"));
    this.myLogger.debug("os.arch: " + System.getProperty("os.arch"));
    this.myLogger.debug("os.version: " + System.getProperty("os.version"));

    if (this.paramDBconfig.length() != 0) {
        this.WDB_DB_CONFIG_FILE = this.paramDBconfig;
    }

    WDBearManager_API myAPI = new WDBearManager_API(this.WDB_DB_CONFIG_FILE);

    // Create all tables
    // -> Needed for the updata script <-
    // -> Otherwise it may crash with an empty database
    try {
        myAPI.getCountOfTable("creaturecache");
        myAPI.getCountOfTable("gameobjectcache");
        myAPI.getCountOfTable("itemcache");
        myAPI.getCountOfTable("itemnamecache");
        myAPI.getCountOfTable("itemtextchaxhe");
        myAPI.getCountOfTable("npccache");
        myAPI.getCountOfTable("pagetextcache");
        myAPI.getCountOfTable("questcache");
    } catch (Exception ex) {
        // ignore
        ex.printStackTrace();
        System.exit(0);
    }

    // Check, if database must be re-newed
    DBUpdater myDBU = new DBUpdater();
    myDBU.checkForUpdate(myAPI);

    WDBearManager_I myWoWWDBearManager_API = myAPI;

    //
    // print out some statistics
    //

    if (this.useGUI == false) {

        boolean paramSpec = false;
        // ASSERT
        DTO_Interface myDTO = null;

        if (this.paramWdbfile.length() != 0) {
            paramSpec = true;
            // Open WDB
            try {
                this.items = myWoWWDBearManager_API.readWDBfile(this.paramWdbfile);
            } catch (Exception ex) {
                this.myLogger.error("Error reading the WDB file");
                return;
            }
            // first dto -> to identify the data
            Iterator itWDBS = this.items.iterator();
            if (itWDBS.hasNext()) {
                myDTO = (DTO_Interface) itWDBS.next();
            }
        }
        // Create CSV?
        if (this.paramCSVFolder.length() != 0) {
            if (myDTO == null) {
                // NO WDB specified -> exit
                this.myLogger.error("Error: You did not specify -" + this.PARAM_WDBFILE + "\n");
                usage(this.options);
                return;
            }
            File csvFile = new File(this.paramCSVFolder, myDTO.getTableName() + ".csv");
            if (this.useVerbose) {
                this.myLogger.info("Creating CSV file: " + csvFile.getAbsolutePath());
            }
            try {
                WriteCSV.writeCSV(new File(this.paramCSVFolder), this.items);
                this.myLogger.info("CSV file written: " + csvFile.getAbsolutePath());
            } catch (Exception ex) {
                ex.printStackTrace();
                this.myLogger.error("Error writing the CSV file");
                return;
            }
        }
        // Create TXT?
        if (this.paramTXTFolder.length() != 0) {
            if (myDTO == null) {
                // NO WDB specified -> exit
                this.myLogger.error("Error: You did not specify -" + this.PARAM_WDBFILE + "\n");
                usage(this.options);
                return;
            }
            if (this.useVerbose) {
                String table = myDTO.getTableName();
                File txtFile = new File(this.paramTXTFolder, table + ".txt");
                this.myLogger.info("Creating TXT file: " + txtFile.getAbsolutePath());
            }
            try {
                WriteTXT.writeTXT(new File(this.paramTXTFolder), this.items);
            } catch (Exception ex) {
                //ex.printStackTrace();
                this.myLogger.error("Error writing the TXT file: " + ex.getMessage());
                return;
            }
        }
        // Store inside SQL database?
        if (this.writeSQL == true) {
            paramSpec = true;
            if (myDTO == null) {
                // NO WDB specified -> exit
                this.myLogger.error("Error: You did not specify -" + this.PARAM_WDBFILE + "\n");
                usage(this.options);
                return;
            }
            if (this.useVerbose) {
                this.myLogger.info("Storing data inside SQL database");
            }
            SQLManager myWriteSQL = null;
            try {
                myWriteSQL = new SQLManager(this.WDB_DB_CONFIG_FILE);
                ObjectsWritten myOWr = myWriteSQL.insertOrUpdateToSQLDB(this.items, this.doUpdate);
                this.myLogger.info("Operation successfull");
                if (this.useVerbose) {
                    this.myLogger.info("DB statistics");
                    this.myLogger.info("INSERT: " + myOWr.getNumInsert());
                    this.myLogger.info("UPDATE: " + myOWr.getNumUpdate());
                    this.myLogger.info("Error INSERT: " + myOWr.getNumErrorInsert());
                    this.myLogger.info("Error UPDATE: " + myOWr.getNumErrorUpdate());
                    if (this.doUpdate == false) {
                        this.myLogger.info("Objects skipped: " + myOWr.getNumSkipped());
                        System.out.println("If you want to overwrite/update objects, use 'update' param");
                    }
                    this.myLogger.info(WDBearManager.VERSION_INFO);
                }
            } catch (Exception ex) {
                ex.printStackTrace();
                this.myLogger.error("Error importing to database");
                this.myLogger.error(ex.getMessage());
                return;
            }
        } // writeSQL

        // Patch *.SCP with contents of database
        if (this.paramSCPname.length() != 0) {
            if (this.paramPatchSCP.length() == 0) {
                this.myLogger.error("Error: You did not specify -" + WDBearManager.PATCH_SCP + "\n");
                usage(this.options);
                return;
            }

            paramSpec = true;
            this.myLogger.info("Patch scp file with the contents of the database");
            try {

                SCPWritten mySCPW = myWoWWDBearManager_API.patchSCP(this.paramSCPname, this.paramPatchSCP,
                        this.patchUTF8, this.paramLocale);
                if (this.useVerbose) {
                    this.myLogger.info("Merge statistics");
                    System.out.println("Entries in database:    " + mySCPW.getNumInDB());
                    this.myLogger.info("Merged with SCP: " + mySCPW.getNumPatched());
                    this.myLogger.info("Patched IDs:      " + mySCPW.getPatchedIDs());
                }
                this.myLogger.info("Patched file: " + this.paramSCPname + "_patch");
            } catch (WDBMgr_IOException ex) {
                this.myLogger.error("The destination SCP file could not be created");
                this.myLogger.error(ex.getMessage());
                return;
            } catch (WDBMgr_NoDataAvailableException ex) {
                this.myLogger.info("Merging impossible");
                this.myLogger.info("There are no entries inside the database");
            } catch (Exception ex) {
                this.myLogger.error("Error while merging quests.scp with database");
                this.myLogger.error(ex.getMessage());
                return;
            }
        } // PatchSCP

        // Call jython script?
        if (this.paramScript.length() != 0) {
            paramSpec = true;
            this.myLogger.info("Calling Jython script");
            this.myLogger.info("---");
            PythonInterpreter interp = new PythonInterpreter();

            interp.set("wdbmgrapi", myWoWWDBearManager_API);
            // set parameters
            Set setKeys = this.paramJython.keySet();
            Iterator itKeys = setKeys.iterator();
            String jyParam = "";
            while (itKeys.hasNext()) {
                jyParam = (String) itKeys.next();
                interp.set(jyParam, (String) this.paramJython.get(jyParam));
            }
            interp.execfile(this.paramScript);

            this.myLogger.info("---");
            System.out.println("Jython script executed, " + WDBearManager.VERSION_INFO);
            return;
        } // paramScript

        if (paramSpec == false) {
            usage(this.options);
            return;
        }

        // Exit
        return;
    } // Command Line Version

    //
    // GUI
    //
    PlasticLookAndFeel.setMyCurrentTheme(new DesertBlue());
    try {
        UIManager.put("ClassLoader", LookUtils.class.getClassLoader());
        UIManager.setLookAndFeel(new Plastic3DLookAndFeel());
    } catch (Exception e) {
    }
    //    try {
    //      com.incors.plaf.kunststoff.KunststoffLookAndFeel kunststoffLnF = new com.incors.plaf.kunststoff.KunststoffLookAndFeel();
    //      KunststoffLookAndFeel
    //          .setCurrentTheme(new com.incors.plaf.kunststoff.KunststoffTheme());
    //      UIManager.setLookAndFeel(kunststoffLnF);
    //    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
    //      // handle exception or not, whatever you prefer
    //    }
    //     this line needs to be implemented in order to make JWS work properly
    UIManager.getLookAndFeelDefaults().put("ClassLoader", getClass().getClassLoader());

    this.setTitle(WDBearManager.VERSION_INFO);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.getContentPane().setLayout(new BorderLayout());

    // construct GUI to display the stuff
    // Menu
    //  Where the GUI is created:
    JMenuBar menuBar;
    JMenu menu; //, submenu;
    JMenuItem menuItem;
    //JRadioButtonMenuItem rbMenuItem;
    //JCheckBoxMenuItem cbMenuItem;

    //    Create the menu bar.
    menuBar = new JMenuBar();

    //    Build the first menu.
    menu = new JMenu("File");
    menu.setMnemonic(KeyEvent.VK_A);
    menu.getAccessibleContext().setAccessibleDescription("Process WDB files");
    menuBar.add(menu);

    // Exit
    menuItem = new JMenuItem(MENU_EXIT, KeyEvent.VK_T);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4, ActionEvent.ALT_MASK));
    menuItem.getAccessibleContext().setAccessibleDescription("Exit program");
    menuItem.addActionListener(this);
    menu.add(menuItem);

    //    Build the first menu.
    menu = new JMenu("About");
    menu.setMnemonic(KeyEvent.VK_A);
    menu.getAccessibleContext().setAccessibleDescription("Whassup?");
    menuBar.add(menu);
    // Help
    menuItem = new JMenuItem(MENU_HELP, KeyEvent.VK_H);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H, ActionEvent.ALT_MASK));
    menuItem.getAccessibleContext().setAccessibleDescription("Help me...");
    menuItem.addActionListener(this);
    menu.add(menuItem);
    // JavaDocs
    menuItem = new JMenuItem(MENU_JDOCS, KeyEvent.VK_J);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_J, ActionEvent.ALT_MASK));
    menuItem.getAccessibleContext().setAccessibleDescription("Show API docs...");
    menuItem.addActionListener(this);
    menu.add(menuItem);
    // separator
    menu.addSeparator();
    // CheckForUpdate
    menuItem = new JMenuItem(MENU_CHECKUPDATE, KeyEvent.VK_U);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, ActionEvent.ALT_MASK));
    menuItem.getAccessibleContext().setAccessibleDescription("Check for update...");
    menuItem.addActionListener(this);
    menu.add(menuItem);
    // separator
    menu.addSeparator();
    // ABOUT
    menuItem = new JMenuItem(MENU_ABOUT, KeyEvent.VK_T);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T, ActionEvent.ALT_MASK));
    menuItem.getAccessibleContext().setAccessibleDescription("Ueber...");
    menuItem.addActionListener(this);
    menu.add(menuItem);

    this.setJMenuBar(menuBar);

    JPanel mainPanel = new JPanel();
    mainPanel.setLayout(new GridLayout(0, 1));

    JTabbedPane tabbedPane = new JTabbedPane();
    ImageIcon wowIcon = createImageIcon("images/fromdisk.gif");

    JComponent panel1 = new WDB_Panel(myWoWWDBearManager_API);
    tabbedPane.addTab("WDB-Module", wowIcon, panel1, "Handle WDB files");
    tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);

    ImageIcon panelIcon = createImageIcon("images/hsql.gif");
    JComponent panel2 = null;
    try {
        panel2 = new SQL_Panel(myWoWWDBearManager_API);
    } catch (Throwable ex) {
        System.err.println("Error while instantiating SQL Panel: ");
        System.err.println(ex.getMessage());
        ex.printStackTrace();
        System.exit(0);
    }
    tabbedPane.addTab("DB-Module", panelIcon, panel2, "Handle database");
    tabbedPane.setMnemonicAt(1, KeyEvent.VK_2);

    panelIcon = createImageIcon("images/pythonpoweredsmall.gif");
    JComponent panel3 = new Python_Panel(myWoWWDBearManager_API);
    tabbedPane.addTab("Scripts", panelIcon, panel3, "Scripting");
    tabbedPane.setMnemonicAt(2, KeyEvent.VK_3);

    // maybe user PLUGIN availabe
    // -> check for folders below "plugins"
    File filUserPanels = new File("plugins");
    // 1) find user plugins (scan for directories)
    // 2) scan for <name>.properties, where <name> is the name of the directory
    // 3) load the properties file and get the plugin running
    String[] strUserPlugins = filUserPanels.list(new FilenameFilter() {
        public boolean accept(File dir, String name) {
            return (new File(dir, name).isDirectory());
        }
    });
    if (strUserPlugins != null) {
        ArrayList urlJars = new ArrayList();

        //URL[] urlJars = new URL[strUserPlugins.length];
        String strCurrJar = "";
        String strPlugins[] = new String[strUserPlugins.length];
        try {
            for (int i = 0; i < strUserPlugins.length; i++) {
                File baseFile = new File("plugins", strUserPlugins[i]);
                File filProperties = new File(baseFile, strUserPlugins[i] + ".properties");
                if (filProperties.exists()) {
                    // set plugin folder and .properties name
                    strPlugins[i] = strUserPlugins[i];
                    this.myLogger.info("Found 'plugin' : " + baseFile.getAbsolutePath());
                    this.myLogger.info("                 Trying to load .jar file");

                    // Scan for JAR files and include them
                    //System.out.println(baseFile.getAbsolutePath());
                    String[] strJars = baseFile.list(new FilenameFilter() {
                        public boolean accept(File dir, String name) {
                            return name.endsWith(".jar");
                        }
                    });
                    for (int j = 0; j < strJars.length; j++) {
                        File filJAR = new File(baseFile, strJars[j]);
                        strCurrJar = filJAR.getAbsolutePath();

                        this.myLogger.info("Loading external 'plugin' JAR: " + strCurrJar);
                        URL jarfile = new URL("jar", "", "file:" + strCurrJar + "!/");
                        urlJars.add(jarfile);
                    }

                } else {
                    // print warning - a directory inside plugins, but there is no plugin
                    this.myLogger.warn("Found directory inside plugins folder, but no .properties file");
                    this.myLogger.warn("      Name of directory: " + strUserPlugins[i]);
                    this.myLogger.warn("      Please review the directory!");
                }
            } // for... all user plugins
        } catch (Exception ex) {
            this.myLogger.error("Plugin: Error loading " + strCurrJar);
            this.myLogger.error("Please check your 'plugin' folder");
        }
        URLClassLoader cl = null;
        try {
            //      File file = new File("plugins", strUserJars[i]);
            //      this.myLogger.info("Lade externes JAR: " + file.getAbsolutePath());
            //      URL jarfile = new URL("jar", "", "file:" + file.getAbsolutePath() + "!/");
            URL[] loadURLs = new URL[urlJars.toArray().length];
            for (int j = 0; j < urlJars.toArray().length; j++) {
                loadURLs[j] = (URL) urlJars.get(j);
            }
            cl = URLClassLoader.newInstance(loadURLs);

            Thread.currentThread().setContextClassLoader(cl);

            //      String lcStr = "Test";
            //      Class loadedClass = cl.loadClass(lcStr);
            //      this.myLogger.info("Smooth...");

        } catch (Exception ex) {
            ex.printStackTrace();
        }

        // 2) load properties and instantiate the plugin
        //      String[] strPlugins = filUserPanels.list(new FilenameFilter() {
        //        public boolean accept(File dir, String name) {
        //          return (name.endsWith("_plugin.properties"));
        //        }
        //      });
        String strPluginName = "";
        String strPluginClass = "";
        String strPluginImage = "";
        WDBearPlugin pluginPanel = null;
        for (int i = 0; i < strPlugins.length; i++) {
            //this.myLogger.info(strPlugins[i]);
            Properties prpPlugin = null;
            try {
                prpPlugin = ReadPropertiesFile.readProperties(
                        new File("plugins", strPlugins[i] + "/" + strPlugins[i]).getAbsolutePath()
                                + ".properties");
            } catch (Exception ex) {
                this.myLogger.error("Error with plugin: " + strPlugins[i]);
                this.myLogger.error("Could not load properties file");
                continue;
            }
            if ((strPluginClass = prpPlugin.getProperty(this.PLUGIN_CLASS)) == null) {
                this.myLogger.error("Error with plugin: " + strPlugins[i]);
                this.myLogger.error("Property '" + this.PLUGIN_CLASS + "' not found");
                continue;
            }
            if ((strPluginName = prpPlugin.getProperty(this.PLUGIN_NAME)) == null) {
                this.myLogger.error("Error with plugin: " + strPlugins[i]);
                this.myLogger.error("Property '" + this.PLUGIN_NAME + "' not found");
                continue;
            }
            if ((strPluginImage = prpPlugin.getProperty(this.PLUGIN_IMAGE)) == null) {
                this.myLogger.error("Error with plugin: " + strPlugins[i]);
                this.myLogger.error("Property '" + this.PLUGIN_IMAGE + "' not found");
                continue;
            }

            File filPlgImg = new File("plugins", strPlugins[i] + "/" + strPluginImage);
            panelIcon = createImageIcon(filPlgImg.getAbsolutePath());
            if (panelIcon == null) {
                this.myLogger.error("Error with plugin: " + strPlugins[i]);
                this.myLogger.error("Could not read image '" + strPluginImage + "'");
                continue;
            }
            try {
                pluginPanel = (WDBearPlugin) (cl.loadClass(strPluginClass).newInstance());
                pluginPanel.runPlugin(myAPI);
            } catch (Exception ex) {
                this.myLogger.error("Error with plugin: " + strPlugins[i]);
                this.myLogger.error("Could not instantiate '" + strPluginClass + "'");
                ex.printStackTrace();
                continue;
            }
            tabbedPane.addTab(strPluginName, panelIcon, pluginPanel, strPluginName);
        } // Plugins
    } // plugins folder found

    mainPanel.add(tabbedPane);

    this.getContentPane().add(mainPanel, BorderLayout.CENTER);

    this.setSize(1024, 768);
    //this.pack();
    this.show();

}