Example usage for javax.swing JProgressBar JProgressBar

List of usage examples for javax.swing JProgressBar JProgressBar

Introduction

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

Prototype

public JProgressBar(int min, int max) 

Source Link

Document

Creates a horizontal progress bar with the specified minimum and maximum.

Usage

From source file:DownloadDialog.java

/********************************************************************
 * Constructor: DownloadDialog//  w  w w .j av  a  2s. c om
 * Purpose: constructor for download, with necessary references
/*******************************************************************/
public DownloadDialog(final MainApplication context, Scheduler scheduler_Ref, JList courseListSelected_Ref,
        JList courseListAll_Ref) {

    // Basic setup for dialog
    setModalityType(Dialog.ModalityType.APPLICATION_MODAL);
    setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

    setTitle(TITLE);

    // Setup proper references
    this.scheduler = scheduler_Ref;
    this.courseListSelected = courseListSelected_Ref;
    this.courseListAll = courseListAll_Ref;

    // Store available terms
    storeTerms();

    // Constraints
    GridBagConstraints c = new GridBagConstraints();
    c.fill = GridBagConstraints.BOTH;
    c.insets = new Insets(10, 10, 10, 10);
    c.gridx = 0;
    c.gridy = 0;
    c.weightx = 1;
    c.weighty = 0;
    c.gridwidth = 2;

    // Main panel
    panel = new JPanel(new GridBagLayout());

    // Add term select box
    termCB = new JComboBox(termsName.toArray());
    panel.add(termCB, c);

    // Setup username and password labels
    JLabel userL = new JLabel("Username:");
    JLabel passL = new JLabel("Password:");
    c.gridwidth = 1;
    c.gridx = 0;
    c.weightx = 0;

    // Add user label
    c.gridy = 1;
    c.insets = new Insets(5, 10, 0, 10);
    panel.add(userL, c);

    // Add password label
    c.gridy = 2;
    c.insets = new Insets(0, 10, 5, 10);
    panel.add(passL, c);

    // Setup user and pass text fields
    user = new JTextField();
    pass = new JPasswordField();
    c.weightx = 1;
    c.gridx = 1;

    // Add user field
    c.gridy = 1;
    c.insets = new Insets(5, 10, 2, 10);
    panel.add(user, c);

    // Add pass field
    c.gridy = 2;
    c.insets = new Insets(2, 10, 5, 10);
    panel.add(pass, c);

    // Setup login button
    JButton login = new JButton("Login");
    login.addActionListener(this);
    c.insets = new Insets(10, 10, 10, 10);
    c.gridx = 0;
    c.gridy = 3;
    c.gridwidth = 2;
    c.weightx = 1;
    panel.add(login, c);

    // Add panel to main box
    add(panel);

    // Pack the components and give userbox focus
    pack();
    user.requestFocus();

    // Create worker to download courses
    worker = new SwingWorker<Void, Void>() {
        protected Void doInBackground() throws Exception {

            // Reset courses
            scheduler.resetCourses();

            // Constraints
            GridBagConstraints c = new GridBagConstraints();
            c.fill = GridBagConstraints.BOTH;
            c.insets = new Insets(10, 10, 10, 10);
            c.gridx = 0;
            c.weightx = 1;
            c.weighty = 0;

            // Remove all elements
            panel.removeAll();

            // Add status
            JLabel status = new JLabel("Connecting...");
            c.gridy = 0;
            panel.add(status, c);

            // Add progress bar
            JProgressBar progressBar = new JProgressBar(0, SUBJECTS.length);
            c.gridy = 1;
            panel.add(progressBar, c);
            progressBar.setPreferredSize(new Dimension(275, 12));

            // Revalidate, repaint, and pack
            //revalidate();
            repaint();
            pack();

            try {

                // Create client
                DefaultHttpClient client = new DefaultHttpClient();

                // Setup and execute initial login
                HttpGet initialLogin = new HttpGet("http://jweb.kettering.edu/cku1/twbkwbis.P_ValLogin");
                HttpResponse response = client.execute(initialLogin);
                HTMLParser.parse(response);

                // Get current term
                String term = termsValue.get(termCB.getSelectedIndex());

                // Consume entity (cookies)
                HttpEntity entity = response.getEntity();
                if (entity != null)
                    entity.consumeContent();

                // Create post for login
                HttpPost login = new HttpPost("http://jweb.kettering.edu/cku1/twbkwbis.P_ValLogin");

                // Parameters
                List<NameValuePair> parameters = new ArrayList<NameValuePair>();
                parameters.add(new BasicNameValuePair("sid", user.getText()));
                parameters.add(new BasicNameValuePair("PIN", pass.getText()));
                login.setEntity(new UrlEncodedFormEntity(parameters));
                login.setHeader("Referer", "http://jweb.kettering.edu/cku1/twbkwbis.P_ValLogin");

                // Login !
                response = client.execute(login);

                // Store proper cookies
                List<Cookie> cookies = client.getCookieStore().getCookies();

                // Start off assuming logging in failed
                boolean loggedIn = false;

                // Check cookies for successful login
                for (int i = 0; i < cookies.size(); i++)
                    if (cookies.get(i).getName().equals("SESSID"))
                        loggedIn = true;

                // Success?
                if (loggedIn) {

                    // Consumption of feed
                    HTMLParser.parse(response);

                    // Execute GET class list page
                    HttpGet classList = new HttpGet(
                            "http://jweb.kettering.edu/cku1/bwskfcls.p_sel_crse_search");
                    classList.setHeader("Referer", "https://jweb.kettering.edu/cku1/twbkwbis.P_GenMenu");
                    response = client.execute(classList);
                    HTMLParser.parse(response);

                    // Execute GET for course page
                    HttpGet coursePage = new HttpGet(
                            "http://jweb.kettering.edu/cku1/bwckgens.p_proc_term_date?p_calling_proc=P_CrseSearch&p_term="
                                    + term);
                    coursePage.setHeader("Referer",
                            "http://jweb.kettering.edu/cku1/bwskfcls.p_sel_crse_search");
                    response = client.execute(coursePage);
                    HTMLParser.parse(response);

                    // Download every subject's data
                    for (int index = 0; index < SUBJECTS.length; index++) {

                        // Don't download if cancel was pressed
                        if (isCancelled())
                            break;

                        // Update status, progress bar, then store course
                        String subject = SUBJECTS[index];
                        status.setText("Downloading " + subject);
                        progressBar.setValue(index);
                        scheduler.storeDynamicCourse(subject, client, term);
                    }

                    // Update course list data
                    courseListAll.setListData(scheduler.getCourseIDs().toArray());

                    // Clear course list data
                    String[] empty = {};
                    courseListSelected.setListData(empty);
                    context.updatePermutations();
                    context.updateSchedule();

                    // Dispose of dialog if cancelled
                    if (!isCancelled()) {
                        dispose();
                    }

                }

                // Invalid login?
                else {

                    // Update status
                    status.setText("Invalid login.");
                }
            }

            // Failed to download?
            catch (Exception exc) {

                // Show stack trace, and update status
                exc.printStackTrace();
                status.setText("Failed downloading.");
            }

            return null;
        }
    };

    // Setup window close event to be same as cancel
    this.addWindowListener(new WindowAdapter() {

        @Override
        public void windowClosing(WindowEvent e) {

            // Cancel all downloads then dispose
            worker.cancel(true);
            dispose();
        }
    });

    // Make sure dialog is visible
    setLocationRelativeTo(context);
    setVisible(true);

}

From source file:uk.co.petertribble.solview.explorer.ArcStatPanel.java

/**
 * Craete a new ArcStatPanel, to display ZFS ARC statistics graphically.
 *
 * @param jkstat a JKstat object/* w w  w .  j a v  a 2  s.  com*/
 * @param interval the desired display update interval in seconds
 */
public ArcStatPanel(JKstat jkstat, int interval) {
    this.jkstat = jkstat;

    setDelay(interval);

    // FIXME all labels need to be localized

    // create a main panel
    setLayout(new SpringLayout());

    // initialise the datasets
    totalCacheHitsDataset = new DefaultPieDataset();
    currentCacheHitsDataset = new DefaultPieDataset();
    totalCacheHitsByTypeDataset = new DefaultPieDataset();
    currentCacheHitsByTypeDataset = new DefaultPieDataset();
    totalCacheMissesByTypeDataset = new DefaultPieDataset();
    currentCacheMissesByTypeDataset = new DefaultPieDataset();

    // initialise the pie charts
    // args: title, dataset, legend?, tooltips?, urls?
    JFreeChart totalCacheChart = ChartFactory.createPieChart("Total Cache Hits By List", totalCacheHitsDataset,
            false, true, false);
    JFreeChart currentCacheChart = ChartFactory.createPieChart("Current Cache Hits By List",
            currentCacheHitsDataset, false, true, false);
    JFreeChart totalCacheHitsByTypeChart = ChartFactory.createPieChart("Total Cache Hits By Type",
            totalCacheHitsByTypeDataset, false, true, false);
    JFreeChart currentCacheHitsByTypeChart = ChartFactory.createPieChart("Current Cache Hits By Type",
            currentCacheHitsByTypeDataset, false, true, false);
    JFreeChart totalCacheMissesByTypeChart = ChartFactory.createPieChart("Total Cache Misses By Type",
            totalCacheMissesByTypeDataset, false, true, false);
    JFreeChart currentCacheMissesByTypeChart = ChartFactory.createPieChart("Current Cache Misses By Type",
            currentCacheMissesByTypeDataset, false, true, false);

    /*
     * The overall layout is simple: at the top are the overall size
     * statistics. Then the percentages for hits/misses/types for the
     * cache are shown below.
     */
    JPanel infoPanel = new JPanel(new GridLayout(0, 2));
    JPanel hitPanel = new JPanel(new GridLayout(0, 2));
    JPanel cacheByListPanel = new JPanel(new GridLayout(1, 2));
    JPanel cacheHitByTypePanel = new JPanel(new GridLayout(1, 2));
    JPanel cacheMissByTypePanel = new JPanel(new GridLayout(1, 2));

    // cache hit rates, in a separate panel with bars.

    arc_hit_bar = new JProgressBar(0, 100);
    arc_hit_bar.setStringPainted(true);
    demand_hit_bar = new JProgressBar(0, 100);
    demand_hit_bar.setStringPainted(true);
    pf_hit_bar = new JProgressBar(0, 100);
    pf_hit_bar.setStringPainted(true);
    mdemand_hit_bar = new JProgressBar(0, 100);
    mdemand_hit_bar.setStringPainted(true);
    mpf_hit_bar = new JProgressBar(0, 100);
    mpf_hit_bar.setStringPainted(true);
    hitPanel.add(new JLabel("ARC hit rate"));
    hitPanel.add(arc_hit_bar);
    hitPanel.add(new JLabel("Demand data hit rate"));
    hitPanel.add(demand_hit_bar);
    hitPanel.add(new JLabel("Prefetch data hit rate"));
    hitPanel.add(pf_hit_bar);
    hitPanel.add(new JLabel("Demand metadata hit rate"));
    hitPanel.add(mdemand_hit_bar);
    hitPanel.add(new JLabel("Prefetch metadata hit rate"));
    hitPanel.add(mpf_hit_bar);
    hitPanel.setBorder(BorderFactory.createTitledBorder("Cache Hit Rates"));

    Dimension dchart = new Dimension(320, 240);
    ChartPanel cp1a = new ChartPanel(totalCacheChart);
    cp1a.setPreferredSize(dchart);
    ChartPanel cp1b = new ChartPanel(currentCacheChart);
    cp1b.setPreferredSize(dchart);
    ChartPanel cp2a = new ChartPanel(totalCacheHitsByTypeChart);
    cp2a.setPreferredSize(dchart);
    ChartPanel cp2b = new ChartPanel(currentCacheHitsByTypeChart);
    cp2b.setPreferredSize(dchart);
    ChartPanel cp3a = new ChartPanel(totalCacheMissesByTypeChart);
    cp3a.setPreferredSize(dchart);
    ChartPanel cp3b = new ChartPanel(currentCacheMissesByTypeChart);
    cp3b.setPreferredSize(dchart);

    infoPanel.add(new JLabel("Current size"));
    arc_size_label = new JLabel();
    infoPanel.add(arc_size_label);
    infoPanel.add(new JLabel("Target size"));
    target_size_label = new JLabel();
    infoPanel.add(target_size_label);
    infoPanel.add(new JLabel("Min size"));
    arc_min_size_label = new JLabel();
    infoPanel.add(arc_min_size_label);
    infoPanel.add(new JLabel("Max size"));
    arc_max_size_label = new JLabel();
    infoPanel.add(arc_max_size_label);
    infoPanel.add(new JLabel("MRU size"));
    mru_size_label = new JLabel();
    infoPanel.add(mru_size_label);
    infoPanel.add(new JLabel("MFU size"));
    mfu_size_label = new JLabel();
    infoPanel.add(mfu_size_label);
    infoPanel.setBorder(BorderFactory.createTitledBorder("Statistics"));

    cacheByListPanel.add(cp1a);
    cacheByListPanel.add(cp1b);
    cacheHitByTypePanel.add(cp2a);
    cacheHitByTypePanel.add(cp2b);
    cacheMissByTypePanel.add(cp3a);
    cacheMissByTypePanel.add(cp3b);

    add(infoPanel);
    add(hitPanel);
    add(cacheByListPanel);
    add(cacheHitByTypePanel);
    add(cacheMissByTypePanel);

    SpringUtilities.makeCompactGrid(this, 5, 1, 3, 3, 3, 3);

    update();
    startLoop();
}

From source file:edu.ku.brc.specify.dbsupport.SpecifyDeleteHelper.java

/**
 * @param workerArg//from w ww.  ja  v a 2 s  . c  om
 * @param title (already localized)
 * @return a modal dialog showing the progress
 */
public JDialog initProgress(final SwingWorker<?, ?> workerArg, final String title) {
    this.worker = workerArg;

    if (workerArg != null) {
        JDialog dialog = new JDialog((Dialog) null, true);

        titleLbl = new JLabel(title);
        progressBar = new JProgressBar(0, 100);

        CellConstraints cc = new CellConstraints();
        PanelBuilder pb = new PanelBuilder(new FormLayout("f:p:g", "f:p:g,p,4px,p,f:p:g"));

        pb.add(titleLbl, cc.xy(1, 2));
        pb.add(progressBar, cc.xy(1, 4));
        pb.setDefaultDialogBorder();
        dialog.setContentPane(pb.getPanel());

        dialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
        dialog.pack();
        dialog.setSize(500, 150);
        workerArg.addPropertyChangeListener(new SwingWorkerCompletionWaiter(dialog));
        return dialog;
    }
    return null;
}

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

private XMageLauncher() {
    locale = Locale.getDefault();
    //locale = new Locale("it", "IT");
    messages = ResourceBundle.getBundle("MessagesBundle", locale);
    localize();/*from   w  ww . j  ava  2s  .co m*/

    serverConsole = new XMageConsole("XMage Server console");
    clientConsole = new XMageConsole("XMage Client console");

    frame = new JFrame(messages.getString("frameTitle") + " " + Config.getVersion());
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setPreferredSize(new Dimension(800, 500));
    frame.setResizable(false);

    createToolbar();

    ImageIcon icon = new ImageIcon(XMageLauncher.class.getResource("/icon-mage-flashed.png"));
    frame.setIconImage(icon.getImage());

    Random r = new Random();
    int imageNum = 1 + r.nextInt(17);
    ImageIcon background = new ImageIcon(new ImageIcon(
            XMageLauncher.class.getResource("/backgrounds/" + Integer.toString(imageNum) + ".jpg")).getImage()
                    .getScaledInstance(800, 480, Image.SCALE_SMOOTH));
    mainPanel = new JLabel(background) {
        @Override
        public Dimension getPreferredSize() {
            Dimension size = super.getPreferredSize();
            Dimension lmPrefSize = getLayout().preferredLayoutSize(this);
            size.width = Math.max(size.width, lmPrefSize.width);
            size.height = Math.max(size.height, lmPrefSize.height);
            return size;
        }
    };
    mainPanel.addMouseListener(new MouseAdapter() {
        @Override
        public void mousePressed(MouseEvent e) {
            grabPoint = e.getPoint();
            mainPanel.getComponentAt(grabPoint);
        }
    });
    mainPanel.addMouseMotionListener(new MouseMotionAdapter() {
        @Override
        public void mouseDragged(MouseEvent e) {

            // get location of Window
            int thisX = frame.getLocation().x;
            int thisY = frame.getLocation().y;

            // Determine how much the mouse moved since the initial click
            int xMoved = (thisX + e.getX()) - (thisX + grabPoint.x);
            int yMoved = (thisY + e.getY()) - (thisY + grabPoint.y);

            // Move window to this position
            int X = thisX + xMoved;
            int Y = thisY + yMoved;
            frame.setLocation(X, Y);
        }
    });
    mainPanel.setLayout(new GridBagLayout());

    GridBagConstraints constraints = new GridBagConstraints();
    constraints.insets = new Insets(10, 10, 10, 10);

    Font font16 = new Font("Arial", Font.BOLD, 16);
    Font font12 = new Font("Arial", Font.PLAIN, 12);
    Font font12b = new Font("Arial", Font.BOLD, 12);

    mainPanel.add(Box.createRigidArea(new Dimension(250, 50)));

    ImageIcon logo = new ImageIcon(new ImageIcon(XMageLauncher.class.getResource("/label-xmage.png")).getImage()
            .getScaledInstance(150, 75, Image.SCALE_SMOOTH));
    xmageLogo = new JLabel(logo);
    constraints.gridx = 3;
    constraints.gridy = 0;
    constraints.gridheight = 1;
    constraints.gridwidth = GridBagConstraints.REMAINDER;
    constraints.anchor = GridBagConstraints.EAST;
    mainPanel.add(xmageLogo, constraints);

    textArea = new JTextArea(5, 40);
    textArea.setEditable(false);
    textArea.setForeground(Color.WHITE);
    textArea.setBackground(Color.BLACK);
    DefaultCaret caret = (DefaultCaret) textArea.getCaret();
    caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
    scrollPane = new JScrollPane(textArea);
    scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
    scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    constraints.gridx = 2;
    constraints.gridy = 1;
    constraints.weightx = 1.0;
    constraints.weighty = 1.0;
    constraints.fill = GridBagConstraints.BOTH;
    mainPanel.add(scrollPane, constraints);

    labelProgress = new JLabel(messages.getString("progress"));
    labelProgress.setFont(font12);
    labelProgress.setForeground(Color.WHITE);
    constraints.gridy = 2;
    constraints.weightx = 0.0;
    constraints.weighty = 0.0;
    constraints.gridwidth = 1;
    constraints.anchor = GridBagConstraints.WEST;
    mainPanel.add(labelProgress, constraints);

    progressBar = new JProgressBar(0, 100);
    constraints.gridx = 3;
    constraints.weightx = 1.0;
    constraints.gridwidth = GridBagConstraints.REMAINDER;
    constraints.fill = GridBagConstraints.HORIZONTAL;
    mainPanel.add(progressBar, constraints);

    JPanel pnlButtons = new JPanel();
    pnlButtons.setLayout(new GridBagLayout());
    pnlButtons.setOpaque(false);
    constraints.gridx = 0;
    constraints.gridy = 3;
    constraints.gridheight = GridBagConstraints.REMAINDER;
    constraints.fill = GridBagConstraints.BOTH;
    mainPanel.add(pnlButtons, constraints);

    btnLaunchClient = new JButton(messages.getString("launchClient"));
    btnLaunchClient.setToolTipText(messages.getString("launchClient.tooltip"));
    btnLaunchClient.setFont(font16);
    btnLaunchClient.setForeground(Color.GRAY);
    btnLaunchClient.setEnabled(false);
    btnLaunchClient.setPreferredSize(new Dimension(180, 60));
    btnLaunchClient.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            handleClient();
        }
    });

    constraints.gridx = GridBagConstraints.RELATIVE;
    constraints.gridy = 0;
    constraints.gridwidth = 1;
    constraints.fill = GridBagConstraints.BOTH;
    pnlButtons.add(btnLaunchClient, constraints);

    btnLaunchClientServer = new JButton(messages.getString("launchClientServer"));
    btnLaunchClientServer.setToolTipText(messages.getString("launchClientServer.tooltip"));
    btnLaunchClientServer.setFont(font12b);
    btnLaunchClientServer.setEnabled(false);
    btnLaunchClientServer.setForeground(Color.GRAY);
    btnLaunchClientServer.setPreferredSize(new Dimension(80, 40));
    btnLaunchClientServer.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            handleServer();
            handleClient();
        }
    });

    constraints.fill = GridBagConstraints.HORIZONTAL;
    pnlButtons.add(btnLaunchClientServer, constraints);

    btnLaunchServer = new JButton(messages.getString("launchServer"));
    btnLaunchServer.setToolTipText(messages.getString("launchServer.tooltip"));
    btnLaunchServer.setFont(font12b);
    btnLaunchServer.setEnabled(false);
    btnLaunchServer.setForeground(Color.GRAY);
    btnLaunchServer.setPreferredSize(new Dimension(80, 40));
    btnLaunchServer.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            handleServer();
        }
    });

    pnlButtons.add(btnLaunchServer, constraints);

    btnUpdate = new JButton(messages.getString("update.xmage"));
    btnUpdate.setToolTipText(messages.getString("update.xmage.tooltip"));
    btnUpdate.setFont(font12b);
    btnUpdate.setForeground(Color.BLACK);
    btnUpdate.setPreferredSize(new Dimension(80, 40));
    btnUpdate.setEnabled(true);

    btnUpdate.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            handleUpdate();
        }
    });

    pnlButtons.add(btnUpdate, constraints);

    btnCheck = new JButton(messages.getString("check.xmage"));
    btnCheck.setToolTipText(messages.getString("check.xmage.tooltip"));
    btnCheck.setFont(font12b);
    btnCheck.setForeground(Color.BLACK);
    btnCheck.setPreferredSize(new Dimension(80, 40));
    btnCheck.setEnabled(true);

    btnCheck.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            handleCheckUpdates();
        }
    });

    pnlButtons.add(btnCheck, constraints);

    frame.add(mainPanel);
    frame.pack();
    Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    frame.setLocation(dim.width / 2 - frame.getSize().width / 2, dim.height / 2 - frame.getSize().height / 2);
}

From source file:com.employee.scheduler.common.swingui.SolverAndPersistenceFrame.java

private JComponent createToolBar() {
    JToolBar toolBar = new JToolBar("File operations");
    toolBar.setFloatable(false);//from ww w  . j  a va2  s. c om

    importAction = new ImportAction();
    importAction.setEnabled(solutionBusiness.hasImporter());
    toolBar.add(new JButton(importAction));
    openAction = new OpenAction();
    openAction.setEnabled(true);
    toolBar.add(new JButton(openAction));
    saveAction = new SaveAction();
    saveAction.setEnabled(false);
    toolBar.add(new JButton(saveAction));
    exportAction = new ExportAction();
    exportAction.setEnabled(false);
    toolBar.add(new JButton(exportAction));
    toolBar.addSeparator();

    progressBar = new JProgressBar(0, 100);
    progressBar.setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE));
    toolBar.add(progressBar);
    toolBar.addSeparator();

    solveAction = new SolveAction();
    solveAction.setEnabled(false);
    solveButton = new JButton(solveAction);
    terminateSolvingEarlyAction = new TerminateSolvingEarlyAction();
    terminateSolvingEarlyAction.setEnabled(false);
    terminateSolvingEarlyButton = new JButton(terminateSolvingEarlyAction);
    terminateSolvingEarlyButton.setVisible(false);
    toolBar.add(solveButton, "solveAction");
    toolBar.add(terminateSolvingEarlyButton, "terminateSolvingEarlyAction");
    solveButton.setMinimumSize(terminateSolvingEarlyButton.getMinimumSize());
    solveButton.setPreferredSize(terminateSolvingEarlyButton.getPreferredSize());
    return toolBar;
}

From source file:edu.ku.brc.specify.config.init.secwiz.SpecifyDBSecurityWizard.java

/**
 * @param specify//from ww  w  . jav a 2s .  c o m
 */
public SpecifyDBSecurityWizard(final WizardListener listener) {
    super();

    this.listener = listener;

    System.setProperty(DBMSUserMgr.factoryName, "edu.ku.brc.dbsupport.MySQLDMBSUserMgr");

    /*setupXMLPath = UIRegistry.getUserHomeAppDir() + File.separator + "setup_prefs.xml";
    try
    {
    props.loadFromXML(new FileInputStream(new File(setupXMLPath)));
            
    } catch (Exception ex)
    {
    edu.ku.brc.af.core.UsageTracker.incrHandledUsageCount();
    edu.ku.brc.exceptions.ExceptionTracker.getInstance().capture(SpecifyDBSetupWizard.class, ex);
    }*/

    HelpMgr.setLoadingPage("Load");

    cardPanel = new JPanel(cardLayout);

    cancelBtn = createButton(UIRegistry.getResourceString("CANCEL"));
    helpBtn = createButton(UIRegistry.getResourceString("HELP"));

    JPanel btnBar;
    backBtn = createButton(UIRegistry.getResourceString("BACK"));
    nextBtn = createButton(UIRegistry.getResourceString("NEXT"));

    CellConstraints cc = new CellConstraints();
    PanelBuilder bbpb = new PanelBuilder(new FormLayout("f:p:g,p,4px,p,4px,p,4px,p,4px", "p"));

    bbpb.add(helpBtn, cc.xy(2, 1));
    bbpb.add(backBtn, cc.xy(4, 1));
    bbpb.add(nextBtn, cc.xy(6, 1));
    bbpb.add(cancelBtn, cc.xy(8, 1));

    btnBar = bbpb.getPanel();

    boolean doTesting = AppPreferences.getLocalPrefs().getBoolean("wizard.defaults", false);
    if (doTesting) {
        props.put("hostName", "localhost");
        props.put("dbName", "testfish");
        props.put("dbUserName", "root");
        props.put("dbPassword", "root");

        props.put("saUserName", "Master");
        props.put("saPassword", "Master");

        props.put("firstName", "Test");
        props.put("lastName", "User");
        props.put("middleInitial", "a");
        props.put("email", "tester@ku.edu");
        props.put("usrUsername", "testuser");
        props.put("usrPassword", "testuser");

        props.put("instName", "KU natural History Museum");
        props.put("instAbbrev", "KU-NHM");

        props.put("divName", "Fish");
        props.put("divAbbrev", "IT");

        props.put("collName", "Fish");
        props.put("collPrefix", "KUFSH");

        // Address
        props.put("addr1", "1345 Jayhawk Blvd");
        props.put("addr2", "606 Dyche Hall");
        props.put("city", "Lawrence");
        props.put("state", "KS");
        props.put("country", "USA");
        props.put("zip", "66044");
        props.put("phone", "785-864-5555");

        props.put("addtaxon", true);
    } else {
        props.put("hostName", "localhost");
        props.put("dbName", "specify");
    }

    props.put("userType", SpecifyUserTypes.UserType.Manager.toString());

    UIFieldFormatterMgr.setDoingLocal(true);

    dbPanel = new DatabasePanel(nextBtn, backBtn, "security_wiz1", true);
    panels.add(dbPanel);
    HelpMgr.registerComponent(helpBtn, dbPanel.getHelpContext());

    MasterLoginPanel masterLoginPanel = new MasterLoginPanel("SA", "ENTER_SA_INFO", "security_wiz2",
            new String[] { "SA_USERNAME", "SA_PASSWORD" }, new String[] { "saUserName", "saPassword" },
            new Integer[] { 32, 32 }, nextBtn, backBtn, true);

    panels.add(masterLoginPanel);

    panels.add(new UserPanel("SECURITY", "security_wiz3", nextBtn, backBtn, true, masterLoginPanel));

    lastStep = panels.size();

    if (backBtn != null) {
        backBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ae) {
                if (step > 0) {
                    step--;
                    panels.get(step).doingPrev();
                    HelpMgr.registerComponent(helpBtn, panels.get(step).getHelpContext());
                    cardLayout.show(cardPanel, Integer.toString(step));
                }
                updateBtnBar();
                if (listener != null) {
                    listener.panelChanged(getResourceString(panels.get(step).getPanelName() + ".TITLE"));
                }
            }
        });

        backBtn.setEnabled(false);
    }

    nextBtn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            if (step < lastStep - 1) {
                panels.get(step).getValues(props);
                panels.get(step).aboutToLeave();

                advanceToNextPanel();

            } else {
                panels.get(step).aboutToLeave();
                nextBtn.setEnabled(false);
                SpecifyDBSecurityWizard.this.listener.finished();

            }
        }
    });

    cancelBtn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            if (SpecifyDBSecurityWizard.this.listener != null) {
                if (step == lastStep) {
                    SpecifyDBSecurityWizard.this.listener.finished();
                } else {
                    if (UIHelper.promptForAction("QUIT", "NO", "CANCEL", getResourceString("SURE_QUIT"))) {
                        SpecifyDBSecurityWizard.this.listener.cancelled();
                    }
                }
            }
        }
    });

    for (int i = 0; i < panels.size(); i++) {
        cardPanel.add(Integer.toString(i), panels.get(i));
        panels.get(i).setValues(props);
    }
    cardLayout.show(cardPanel, "0");

    if (dbPanel != null) {
        dbPanel.updateBtnUI();
    }

    PanelBuilder builder = new PanelBuilder(new FormLayout("f:p:g", "f:p:g,10px,p"));
    builder.add(cardPanel, cc.xy(1, 1));
    builder.add(btnBar, cc.xy(1, 3));

    builder.setDefaultDialogBorder();

    setLayout(new BorderLayout());
    PanelBuilder iconBldr = new PanelBuilder(new FormLayout("20px, f:p:g,p,f:p:g,8px", "20px,t:p,f:p:g, 8px"));
    JLabel iconLbl = new JLabel(IconManager.getIcon(getIconName()));
    iconLbl.setVerticalAlignment(SwingConstants.TOP);
    iconBldr.add(iconLbl, cc.xy(2, 3));
    add(iconBldr.getPanel(), BorderLayout.WEST);
    add(builder.getPanel(), BorderLayout.CENTER);

    progressBar = new JProgressBar(0, lastStep - 1);
    progressBar.setStringPainted(true);
    add(progressBar, BorderLayout.SOUTH);

    panels.get(0).updateBtnUI();

}

From source file:edu.ucla.stat.SOCR.analyses.util.moduls.frm.Panels.Jpan_btn.java

private void getPanel() {
    this.setLayout(new GridBagLayout());
    this.setBorder(BorderFactory.createTitledBorder(Language.getLabel(20))); // File
    final GridBagConstraints c = new GridBagConstraints();
    int gridy = 0;

    // btn load/*from w  w w  .  j a  v a 2 s.c o  m*/
    c.gridx = 0;
    c.gridy = gridy;
    c.gridwidth = 1;
    c.gridheight = 1;
    c.fill = GridBagConstraints.HORIZONTAL;
    c.insets = new Insets(1, 1, 1, 1);
    strLoad = Language.getLabel(21); // Load
    btnLoad = new JButton(strLoad);
    btnLoad.addActionListener(this);
    add(btnLoad, c);
    // btn update
    c.gridx = 1;
    c.gridy = gridy;
    c.gridwidth = GridBagConstraints.REMAINDER;
    c.gridheight = 1;
    c.fill = GridBagConstraints.HORIZONTAL;
    c.insets = new Insets(1, 1, 1, 1);
    strUpdate = Language.getLabel(110); // Update
    btnUpdate = new JButton(strUpdate);
    btnUpdate.addActionListener(this);
    btnUpdate.setEnabled(false);
    add(btnUpdate, c);
    gridy++;

    // txt file name
    c.gridx = 0;
    c.gridy = gridy;
    c.gridwidth = GridBagConstraints.REMAINDER;
    c.gridheight = 1;
    c.fill = GridBagConstraints.HORIZONTAL;
    c.insets = new Insets(1, 1, 1, 1);
    txtFileName = new JTextField();
    txtFileName.setText(Language.getLabel(112)); // No file loaded
    txtFileName.addActionListener(this);
    txtFileName.setEditable(false);
    add(txtFileName, c);
    gridy++;

    // progress bar
    c.gridx = 0;
    c.gridy = gridy;
    c.gridwidth = GridBagConstraints.REMAINDER;
    c.gridheight = 1;
    c.fill = GridBagConstraints.HORIZONTAL;
    c.insets = new Insets(1, 1, 1, 1);
    progressBar = new JProgressBar(0, 100);
    progressBar.setStringPainted(true);
    progressBar.setString("");
    progressBar.setBorderPainted(false);
    progressBar.setValue(0);
    add(progressBar, c);
    gridy++;
}

From source file:com.adito.upgrade.GUIUpgrader.java

public void upgrade() throws Exception {
    if (JOptionPane.showConfirmDialog(this,
            "All selected resources will be now upgrade from the source installation to the target. Are you sure you wish to continue?",
            "Run Upgrade", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE) == JOptionPane.YES_OPTION) {
        ///*  w w  w . ja v a2s .com*/
        final List l = new ArrayList();
        for (int i = 0; i < upgradeSelectionPanel.getComponentCount(); i++) {
            JCheckBox b = (JCheckBox) upgradeSelectionPanel.getComponent(i);
            if (b.isSelected()) {
                l.add(b.getClientProperty("upgrade"));
            }
        }

        removeUpgradeSelectionComponent();
        invalidate();
        removeAll();

        // Progress panel
        JPanel progressPanel = new JPanel(new BorderLayout());
        progressPanel.setBorder(BorderFactory.createTitledBorder("Progress"));
        final JProgressBar b = new JProgressBar(0, l.size());
        b.setStringPainted(true);
        progressPanel.add(b, BorderLayout.CENTER);
        add(progressPanel, BorderLayout.NORTH);

        // Console panel
        JPanel consolePanel = new JPanel(new BorderLayout());
        consolePanel.setBorder(BorderFactory.createTitledBorder("Output"));
        console = new JTextPane();
        JScrollPane scrollPane = new JScrollPane(console);
        consolePanel.add(scrollPane, BorderLayout.CENTER);
        add(consolePanel, BorderLayout.CENTER);

        //

        validate();
        repaint();

        //

        Thread t = new Thread() {
            public void run() {
                try {
                    for (Iterator i = l.iterator(); i.hasNext();) {
                        AbstractDatabaseUpgrade upgrade = (AbstractDatabaseUpgrade) i.next();
                        b.setValue(b.getValue() + 1);
                        upgrade.upgrade(GUIUpgrader.this);
                        try {
                            Thread.sleep(750);
                        } catch (InterruptedException ie) {
                        }
                    }
                    info("Complete");
                    Toolkit.getDefaultToolkit().beep();
                } catch (Exception e) {
                    error("Failed to upgrade.", e);
                }
            }
        };
        t.start();

    }

}

From source file:edu.ku.brc.specify.dbsupport.cleanuptools.GeoChooserDlg.java

@SuppressWarnings({ "rawtypes", "unchecked" })
@Override//  w  w w.java 2 s . co m
public void createUI() {
    boolean doStatesOrCounties = doAllCountries[1] || doAllCountries[2] || doInvCountry[1] || doInvCountry[2];
    //this.whichBtns = doStatesOrCounties && !doInvCountry[1] && rankId > 200 ? CustomDialog.OKCANCELAPPLYHELP : CustomDialog.OKCANCELHELP;

    boolean isStCnty = true;//rankId > 200; 

    dataListModel = new DefaultListModel<GeoSearchResultsItem>();
    mainList = new JList<GeoSearchResultsItem>(dataListModel);
    JScrollPane sb = createScrollPane(mainList, true);

    String listDim;
    if (UIHelper.isWindows()) {
        listDim = "250px";
        Dimension sz = new Dimension(250, 250);
        mainList.setPreferredSize(sz);
        sb.setPreferredSize(sz);
    } else {
        listDim = "f:p:g";
    }

    CellConstraints cc = new CellConstraints();
    PanelBuilder pb = new PanelBuilder(new FormLayout("f:p:g",
            "p,2px,p,12px,p,2px," + listDim + ",8px,p,4px,p,10px,p" + (isStCnty ? ",8px,p" : "")));

    this.contentPanel = pb.getPanel();

    super.createUI();

    okBtn.setEnabled(false);

    calcProgress();

    try {
        if (coInfoList != null && coInfoList.size() > 0) {
            fillFromLuceneResults();
        } else {
            fillFromQuery();
        }

        mainList.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                if (e.getClickCount() == 2) {
                    getOkBtn().doClick();

                } else if (e.getClickCount() == 1 && !noMatchesFound && !mainList.isSelectionEmpty()) {
                    getOkBtn().setEnabled(true);
                }
            }
        });
        mainList.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
            @Override
            public void valueChanged(ListSelectionEvent e) {
                if (!e.getValueIsAdjusting()) {
                    listItemSelected();
                }
            }
        });

        updateNameCB = createCheckBox("Update the Name in the Geography tree."); // I18N
        //mergeCB      = createCheckBox("Merge all the geographies with the same name.");
        addISOCodeCB = createCheckBox("Add the ISO Code to the record");
        isoCodeTF = createTextField(8);
        isoCodeTF.setVisible(rankId < 400);

        updateNameCB.setSelected(isUpdateNamesChecked);
        //mergeCB.setSelected(true);
        addISOCodeCB.setSelected(true);

        updateNameCB.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(final ChangeEvent e) {
                isUpdateNamesChecked = updateNameCB.isSelected();
            }
        });

        DocumentListener dl = new DocumentAdaptor() {
            @Override
            protected void changed(DocumentEvent e) {
                okBtn.setEnabled(!isoCodeTF.getText().isEmpty());
            }
        };
        isoCodeTF.getDocument().addDocumentListener(dl);
        //labels.add(nameStr);// + "  (Unknown)");

        PanelBuilder lookPB = null;
        JButton lookupBtn = null;
        if (isStCnty) {
            lookPB = new PanelBuilder(new FormLayout("f:p:g,p", "p"));
            lookupBtn = createI18NButton("CLNUP_GEO_LOOK_UP_ISO");
            lookPB.add(lookupBtn, cc.xy(2, 1));
            lookupBtn.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    globalRankSearch();
                }
            });
        }

        int i = 0;
        ArrayList<String> labels = new ArrayList<String>();
        while (i < parentNames.length && parentRanks[i] > -1) {
            labels.add(i18NLabelsMap.get(parentRanks[i++]));
        }

        PanelBuilder pbTop = new PanelBuilder(
                new FormLayout("p,2px,f:p:g", UIHelper.createDuplicateJGoodiesDef("p", "2px", labels.size())));
        int y = 1;
        for (i = 0; i < labels.size(); i++) {
            JLabel lbl = createLabel(parentNames[i]);
            pbTop.add(createFormLabel(labels.get(i)), cc.xy(1, y));
            pbTop.add(lbl, cc.xy(3, y));
            lbl.setBackground(Color.WHITE);
            lbl.setOpaque(true);
            y += 2;
        }

        pb.add(pbTop.getPanel(), cc.xy(1, 3));
        pb.addSeparator("Possible standard Geography choices", cc.xy(1, 5)); // I18N
        pb.add(sb, cc.xy(1, 7));
        pb.add(updateNameCB, cc.xy(1, 9));

        PanelBuilder pbc = new PanelBuilder(new FormLayout("p,10px,p,f:p:g", "p"));
        pbc.add(addISOCodeCB, cc.xy(1, 1));
        pbc.add(isoCodeTF, cc.xy(3, 1));

        pb.add(pbc.getPanel(), cc.xy(1, 11));

        i = 13;
        if (isStCnty) {
            pb.add(lookPB.getPanel(), cc.xy(1, i));
            i += 2;
        }

        //if (doAllCountries[0])
        if (false) // hidding it for now
        {
            progressBar = new JProgressBar(0, 100);
            progressBar.setStringPainted(true);
            PanelBuilder prgPB = new PanelBuilder(new FormLayout("p,2px,f:p:g", "p"));
            prgPB.add(createFormLabel("Progress"), cc.xy(1, 1));
            prgPB.add(progressBar, cc.xy(3, 1));
            pb.add(prgPB.getPanel(), cc.xy(1, i));
            i += 2;
        }

        mainList.setSelectedIndex(selectedIndex);
        mainList.ensureIndexIsVisible(selectedIndex);

        noMatchesFound = dataListModel.size() == 0;

        // Optional Depending on States / Countries
        if (doStatesOrCounties) {
            if (dataListModel.getSize() == 0) {
                dataListModel.addElement(new GeoSearchResultsItem("No matches found."));// I18N
            }
        }

        pb.setDefaultDialogBorder();

    } catch (Exception ex) {
        ex.printStackTrace();
    }

    if (UIHelper.isWindows()) {
        setResizable(false);
    }
    setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); // Must be called at the end 'createUI'
}

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./*w  w w  .  j  a  va 2 s . co  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();
}