Example usage for javax.swing DefaultCellEditor DefaultCellEditor

List of usage examples for javax.swing DefaultCellEditor DefaultCellEditor

Introduction

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

Prototype

public DefaultCellEditor(final JComboBox<?> comboBox) 

Source Link

Document

Constructs a DefaultCellEditor object that uses a combo box.

Usage

From source file:dbseer.gui.user.DBSeerDataSet.java

protected Object readResolve() {
    useDefaultIfNull();/*from  w w  w.ja  v a2s  .c  o m*/
    Boolean[] trueFalse = { Boolean.TRUE, Boolean.FALSE };
    JComboBox trueFalseBox = new JComboBox(trueFalse);
    final DefaultCellEditor dce = new DefaultCellEditor(trueFalseBox);

    uniqueVariableName = "dataset_" + UUID.randomUUID().toString().replace('-', '_');
    tableModel = new DBSeerDataSetTableModel(null, new String[] { "Name", "Value" }, true);
    tableModel.addTableModelListener(this);
    table = new JTable(tableModel) {
        @Override
        public TableCellEditor getCellEditor(int row, int col) {
            if ((row == DBSeerDataSet.TYPE_USE_ENTIRE_DATASET
                    || row > TYPE_NUM_TRANSACTION_TYPE + numTransactionTypes) && col == 1)
                return dce;
            return super.getCellEditor(row, col);
        }
    };
    DefaultTableCellRenderer customRenderer = new DefaultTableCellRenderer() {
        @Override
        public Component getTableCellRendererComponent(JTable jTable, Object o, boolean b, boolean b2, int row,
                int col) {
            Component cell = super.getTableCellRendererComponent(jTable, o, b, b2, row, col);
            if (row == DBSeerDataSet.TYPE_START_INDEX || row == DBSeerDataSet.TYPE_END_INDEX) {
                if (((Boolean) table.getValueAt(DBSeerDataSet.TYPE_USE_ENTIRE_DATASET, 1))
                        .booleanValue() == true) {
                    cell.setForeground(Color.LIGHT_GRAY);
                } else {
                    cell.setForeground(Color.BLACK);
                }
            } else if (row == DBSeerDataSet.TYPE_NUM_TRANSACTION_TYPE) {
                cell.setForeground(Color.LIGHT_GRAY);
            } else {
                cell.setForeground(Color.BLACK);
            }
            return cell;
        }
    };
    table.getColumnModel().getColumn(0).setCellRenderer(customRenderer);
    table.getColumnModel().getColumn(1).setCellRenderer(customRenderer);

    table.setFillsViewportHeight(true);
    table.getColumnModel().getColumn(0).setMaxWidth(400);
    table.getColumnModel().getColumn(0).setPreferredWidth(300);
    table.getColumnModel().getColumn(1).setPreferredWidth(600);
    table.setRowHeight(20);

    for (String header : tableHeaders) {
        if (header.equalsIgnoreCase("Use Entire DataSet"))
            tableModel.addRow(new Object[] { header, Boolean.TRUE });
        else
            tableModel.addRow(new Object[] { header, "" });
    }

    for (int i = 0; i < transactionTypes.size(); ++i) {
        DBSeerTransactionType txType = transactionTypes.get(i);
        tableModel.addRow(new Object[] { "Name of Transaction Type " + (i + 1), txType.getName() });
    }

    if (live) {
        updateLiveDataSet();
    }
    for (int i = 0; i < transactionTypes.size(); ++i) {
        DBSeerTransactionType txType = transactionTypes.get(i);
        if (txType.isEnabled()) {
            tableModel.addRow(new Object[] { "Use Transaction Type " + (i + 1), Boolean.TRUE });
        } else {
            tableModel.addRow(new Object[] { "Use Transaction Type " + (i + 1), Boolean.FALSE });
        }
    }
    this.updateTable();
    dataSetLoaded = false;
    tableModel.setUseEntireDataSet(this.useEntireDataSet.booleanValue());

    return this;
}

From source file:es.emergya.ui.plugins.AdminPanel.java

private JComboBox setComboBoxEditor(Integer i, final Object[] items) {
    JComboBox cb = new JComboBox(items);
    final DefaultCellEditor defaultCellEditor = new DefaultCellEditor(cb);
    defaultCellEditor.setClickCountToStart(1);
    filters.getColumnModel().getColumn(i + 1).setCellEditor(defaultCellEditor);
    return cb;/*  w  w w  .jav a 2s.  co  m*/
}

From source file:com.att.aro.ui.view.menu.tools.RegexWizard.java

private void configVDTagsComboBox(JTable table, int columnIndex) {

    TableColumnModel columnModel = table.getColumnModel();
    TableColumn comboColumn = columnModel.getColumn(columnIndex);

    JComboBox<String> comboBox = new JComboBox<>();

    EnumSet<VideoDataTags> allVDTags = EnumSet.allOf(VideoDataTags.class);
    for (VideoDataTags videoDataTag : allVDTags) {
        comboBox.addItem(videoDataTag.toString());
    }//from w  ww .ja  v a2s  . c om

    comboColumn.setCellEditor(new DefaultCellEditor(comboBox));

    /*
     * allows clearing a problem when cell editor is interrupted, very deep problem. 
     * Only shows if: (A) combobox selection is interupted, (B) dialog is
     * closed , and (C) Wizard is entered from the menu in this exact order
     */
    cellEditor = comboColumn.getCellEditor();

    DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
    renderer.setToolTipText(ResourceBundleHelper.getMessageString("videoTab.tooltip"));
    comboColumn.setCellRenderer(renderer);

}

From source file:com.view.PortfolioManagerWindow.java

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

    logOutButton = new javax.swing.JButton();
    PMPlatformTabbedPane = new javax.swing.JTabbedPane();
    PendingOrders = new javax.swing.JPanel();
    PendingOrderRequests = new javax.swing.JScrollPane();
    PMPendingOrdersTable = new javax.swing.JTable();
    PMPendingOrderFilter = new javax.swing.JButton();
    FilterOptionsPMPending = new javax.swing.JComboBox<>();
    FilterTextPMPending = new javax.swing.JTextField();
    ClearFilterPMPendingOrder = new javax.swing.JButton();
    PMEOD = new javax.swing.JPanel();
    jLabel2 = new javax.swing.JLabel();
    PMEODBoughtScrollPane = new javax.swing.JScrollPane();
    PMEODBoughtTable = new javax.swing.JTable();
    PMEODSoldScrollPane = new javax.swing.JScrollPane();
    PMEODSoldTable = new javax.swing.JTable();
    jLabel3 = new javax.swing.JLabel();
    FilterTextPMEOD = new javax.swing.JTextField();
    FilterOptionsPMEOD = new javax.swing.JComboBox<>();
    PMEODFilter = new javax.swing.JButton();
    ClearFilterPMEOD = new javax.swing.JButton();
    CreateOrder = new javax.swing.JPanel();
    PMSelectTraderOptions = new javax.swing.JComboBox<>();
    jLabel5 = new javax.swing.JLabel();
    PMSendOrderScrollPane = new javax.swing.JScrollPane();
    PMSendOrderTable = new javax.swing.JTable();
    PMSendOrder = new javax.swing.JButton();
    PMAddOrderRow = new javax.swing.JButton();
    PMOrderHistory = new javax.swing.JPanel();
    PMOrderHistoryScrollPane = new javax.swing.JScrollPane();
    PMOrderHistoryTable = new javax.swing.JTable();
    FilterTextPMOrderHistory = new javax.swing.JTextField();
    FilterOptionsPMOrderHistory = new javax.swing.JComboBox<>();
    PMOrderHistoryFilter = new javax.swing.JButton();
    ClearFilterPMOrderHistory = new javax.swing.JButton();
    ChangePassword = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setTitle("MoneyTree Trading Platform: Portfolio Manager");
    setMinimumSize(new java.awt.Dimension(1024, 768));
    getContentPane().setLayout(new java.awt.GridBagLayout());

    logOutButton.setText("Logout");
    logOutButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            logOutButtonActionPerformed(evt);
        }
    });
    getContentPane().add(logOutButton, new java.awt.GridBagConstraints());

    PMPlatformTabbedPane.setMinimumSize(new java.awt.Dimension(150, 65));

    PMPendingOrdersTable.setBackground(new java.awt.Color(102, 102, 102));
    PMPendingOrdersTable
            .setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
    String[] CurrencyValues = { "USD", "GBP" };
    PMPendingOrdersTable.setForeground(new java.awt.Color(255, 255, 255));
    PMPendingOrdersTable.setModel(com.controller.CPMOrderMANIAC.getPRTableModel());
    PMPendingOrdersTable.setGridColor(new java.awt.Color(255, 255, 255));
    PMPendingOrdersTable.getTableHeader().setReorderingAllowed(false);
    PendingOrderRequests.setViewportView(PMPendingOrdersTable);

    PMPendingOrderFilter.setText("Filter");
    PMPendingOrderFilter.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            PMPendingOrderFilterActionPerformed(evt);
        }
    });

    FilterOptionsPMPending.setModel(new javax.swing.DefaultComboBoxModel<>(
            new String[] { "Order ID", "Portfolio ID", "Symbol", "Quantity", "Action", "Stop Price",
                    "Limit Price", "Account Type", "Order Type", "Assigned To" }));

    FilterTextPMPending.setText("Filter Text");

    ClearFilterPMPendingOrder.setText("Clear Filter");
    ClearFilterPMPendingOrder.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            ClearFilterPMPendingOrderActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout PendingOrdersLayout = new javax.swing.GroupLayout(PendingOrders);
    PendingOrders.setLayout(PendingOrdersLayout);
    PendingOrdersLayout.setHorizontalGroup(
            PendingOrdersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            PendingOrdersLayout.createSequentialGroup()
                                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(PendingOrderRequests, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            801, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap())
                    .addGroup(PendingOrdersLayout.createSequentialGroup().addContainerGap()
                            .addComponent(FilterTextPMPending, javax.swing.GroupLayout.PREFERRED_SIZE, 281,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(18, 18, 18)
                            .addComponent(FilterOptionsPMPending, javax.swing.GroupLayout.PREFERRED_SIZE, 126,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(18, 18, 18).addComponent(PMPendingOrderFilter).addGap(18, 18, 18)
                            .addComponent(ClearFilterPMPendingOrder)
                            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
    PendingOrdersLayout.setVerticalGroup(PendingOrdersLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PendingOrdersLayout.createSequentialGroup().addContainerGap()
                    .addComponent(PendingOrderRequests, javax.swing.GroupLayout.PREFERRED_SIZE, 183,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(PendingOrdersLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(FilterTextPMPending, javax.swing.GroupLayout.PREFERRED_SIZE, 23,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(FilterOptionsPMPending, javax.swing.GroupLayout.PREFERRED_SIZE, 23,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(PMPendingOrderFilter).addComponent(ClearFilterPMPendingOrder))
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

    PMPlatformTabbedPane.addTab("Pending Order Requests", PendingOrders);

    jLabel2.setText("Bought");

    PMEODBoughtTable.setModel(CPMEndOfDay.getBuyTableModel());
    PMEODBoughtScrollPane.setViewportView(PMEODBoughtTable);

    PMEODSoldTable.setModel(CPMEndOfDay.getSellTableModel());
    PMEODSoldScrollPane.setViewportView(PMEODSoldTable);

    jLabel3.setText("Sold");

    FilterTextPMEOD.setText("Filter By");

    FilterOptionsPMEOD.setModel(new javax.swing.DefaultComboBoxModel<>(
            new String[] { "Portfolio ID", "Symbol", "Quantity", "Price" }));

    PMEODFilter.setText("Filter");
    PMEODFilter.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            PMEODFilterActionPerformed(evt);
        }
    });

    ClearFilterPMEOD.setText("Clear Filter");
    ClearFilterPMEOD.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            ClearFilterPMEODActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout PMEODLayout = new javax.swing.GroupLayout(PMEOD);
    PMEOD.setLayout(PMEODLayout);
    PMEODLayout.setHorizontalGroup(PMEODLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PMEODLayout.createSequentialGroup()
                    .addGroup(PMEODLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(PMEODLayout.createSequentialGroup().addGap(124, 124, 124)
                                    .addComponent(FilterTextPMEOD, javax.swing.GroupLayout.PREFERRED_SIZE, 350,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(FilterOptionsPMEOD, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            126, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(18, 18, 18).addComponent(PMEODFilter))
                            .addGroup(PMEODLayout.createSequentialGroup().addGroup(PMEODLayout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(PMEODLayout.createSequentialGroup().addGap(234, 234, 234)
                                            .addComponent(jLabel2)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                                            PMEODLayout.createSequentialGroup()
                                                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
                                                            Short.MAX_VALUE)
                                                    .addComponent(PMEODBoughtScrollPane,
                                                            javax.swing.GroupLayout.PREFERRED_SIZE, 273,
                                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                                    .addGap(18, 18, 18)))
                                    .addGroup(PMEODLayout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(PMEODSoldScrollPane,
                                                    javax.swing.GroupLayout.Alignment.TRAILING,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE, 280,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                                                    PMEODLayout.createSequentialGroup().addComponent(jLabel3)
                                                            .addGap(132, 132, 132)))))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(ClearFilterPMEOD).addGap(55, 55, 55)));
    PMEODLayout.setVerticalGroup(PMEODLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PMEODLayout.createSequentialGroup().addContainerGap()
                    .addGroup(PMEODLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel3).addComponent(jLabel2))
                    .addGroup(PMEODLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(PMEODLayout.createSequentialGroup().addGap(15, 15, 15).addComponent(
                                    PMEODSoldScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 271,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(PMEODLayout.createSequentialGroup()
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(PMEODBoughtScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            268, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGap(21, 21, 21)
                    .addGroup(PMEODLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(PMEODFilter)
                            .addComponent(FilterOptionsPMEOD, javax.swing.GroupLayout.PREFERRED_SIZE, 23,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(FilterTextPMEOD, javax.swing.GroupLayout.PREFERRED_SIZE, 23,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(ClearFilterPMEOD))
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

    PMPlatformTabbedPane.addTab("EOD", PMEOD);

    PMSelectTraderOptions.setModel(new javax.swing.DefaultComboBoxModel<>(TraderNames));
    PMSelectTraderOptions.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            PMSelectTraderOptionsActionPerformed(evt);
        }
    });

    jLabel5.setText("Select Trader to Assign To:");

    PMSendOrderTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object[][] { { null, null, null, null, null, null, null, null, null } },
            new String[] { "Portfolio ID", "Stock Exchange", "Symbol", "Quantity", "Action", "Order Type",
                    "Stop Price", "Limit Price", "Account Type" }) {
        Class[] types = new Class[] { java.lang.Long.class, java.lang.String.class, java.lang.String.class,
                java.lang.Integer.class, java.lang.String.class, java.lang.String.class, java.lang.Double.class,
                java.lang.Double.class, java.lang.String.class };

        public Class getColumnClass(int columnIndex) {
            return types[columnIndex];
        }
    });
    TableColumn col2 = PMSendOrderTable.getColumnModel().getColumn(1);
    col2.setCellEditor(new myComboBoxEditor(StockExchange));
    col2.setCellRenderer(new MyComboBoxRenderer(StockExchange));
    TableColumn col1 = PMSendOrderTable.getColumnModel().getColumn(4);
    col1.setCellEditor(new myComboBoxEditor(ActionItems));
    col1.setCellRenderer(new MyComboBoxRenderer(ActionItems));
    TableColumn col5 = PMSendOrderTable.getColumnModel().getColumn(5);
    col5.setCellEditor(new myComboBoxEditor(OrderType));
    col5.setCellRenderer(new MyComboBoxRenderer(OrderType));
    TableColumn col3 = PMSendOrderTable.getColumnModel().getColumn(8);
    col3.setCellEditor(new myComboBoxEditor(AccountType));
    col3.setCellRenderer(new MyComboBoxRenderer(AccountType));
    /////////////////////////////////////GG
    TableColumn col4 = PMSendOrderTable.getColumnModel().getColumn(2);

    CSVReader csv = new CSVReader();
    ArrayList<String> symbolList = csv.loadSymbol();

    Java2sAutoComboBox comboBox = new Java2sAutoComboBox(symbolList);
    comboBox.setDataList(symbolList);
    comboBox.setMaximumRowCount(5);
    col4.setCellEditor(new DefaultCellEditor(comboBox));
    //Set up tool tips for the sport cells.
    DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
    renderer.setToolTipText("Click for combo box");
    col4.setCellRenderer(renderer);

    /////////////////////////////////////gg
    PMSendOrderScrollPane.setViewportView(PMSendOrderTable);

    PMSendOrder.setText("Send Order");
    PMSendOrder.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            PMSendOrderActionPerformed(evt);
        }
    });

    PMAddOrderRow.setText("Add Row");
    PMAddOrderRow.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            PMAddOrderRowActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout CreateOrderLayout = new javax.swing.GroupLayout(CreateOrder);
    CreateOrder.setLayout(CreateOrderLayout);
    CreateOrderLayout.setHorizontalGroup(CreateOrderLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(PMSendOrderScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, CreateOrderLayout.createSequentialGroup()
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(CreateOrderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, CreateOrderLayout
                                    .createSequentialGroup().addComponent(jLabel5).addGap(18, 18, 18)
                                    .addComponent(PMSelectTraderOptions, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            137, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(213, 213, 213).addComponent(PMSendOrder).addContainerGap())
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                                    CreateOrderLayout.createSequentialGroup().addComponent(PMAddOrderRow)
                                            .addGap(109, 109, 109)))));
    CreateOrderLayout.setVerticalGroup(CreateOrderLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(CreateOrderLayout.createSequentialGroup().addGap(5, 5, 5).addGroup(CreateOrderLayout
                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(CreateOrderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel5).addComponent(PMSelectTraderOptions,
                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(PMSendOrder)).addGap(28, 28, 28)
                    .addComponent(PMSendOrderScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 233,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(18, 18, 18).addComponent(PMAddOrderRow)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

    PMPlatformTabbedPane.addTab("Create Order", CreateOrder);

    PMOrderHistoryTable.setBackground(new java.awt.Color(102, 102, 102));
    PMOrderHistoryTable
            .setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
    PMOrderHistoryTable.setForeground(new java.awt.Color(255, 255, 255));
    PMOrderHistoryTable.setModel(com.controller.CPMOrderMANIAC.getOHTableModel());
    PMOrderHistoryTable.setGridColor(new java.awt.Color(255, 255, 255));
    PMOrderHistoryTable.getTableHeader().setReorderingAllowed(false);
    PMOrderHistoryScrollPane.setViewportView(PMOrderHistoryTable);

    FilterTextPMOrderHistory.setText("Filter By");

    FilterOptionsPMOrderHistory.setModel(new javax.swing.DefaultComboBoxModel<>(
            new String[] { "Order ID", "Portfolio ID", "Symbol", "Quantity", "Action", "Stop Price",
                    "Limit Price", "Account Type", "Order Type", "Assigned To" }));

    PMOrderHistoryFilter.setText("Filter");
    PMOrderHistoryFilter.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            PMOrderHistoryFilterActionPerformed(evt);
        }
    });

    ClearFilterPMOrderHistory.setText("Clear Filter");
    ClearFilterPMOrderHistory.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            ClearFilterPMOrderHistoryActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout PMOrderHistoryLayout = new javax.swing.GroupLayout(PMOrderHistory);
    PMOrderHistory.setLayout(PMOrderHistoryLayout);
    PMOrderHistoryLayout
            .setHorizontalGroup(
                    PMOrderHistoryLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(PMOrderHistoryLayout.createSequentialGroup().addContainerGap()
                                    .addGroup(PMOrderHistoryLayout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(PMOrderHistoryScrollPane)
                                            .addGroup(PMOrderHistoryLayout.createSequentialGroup()
                                                    .addComponent(FilterTextPMOrderHistory,
                                                            javax.swing.GroupLayout.PREFERRED_SIZE, 281,
                                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                                    .addGap(18, 18, 18)
                                                    .addComponent(FilterOptionsPMOrderHistory,
                                                            javax.swing.GroupLayout.PREFERRED_SIZE, 126,
                                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                                    .addGap(18, 18, 18).addComponent(PMOrderHistoryFilter)
                                                    .addGap(18, 18, 18).addComponent(ClearFilterPMOrderHistory)
                                                    .addGap(0, 0, Short.MAX_VALUE)))
                                    .addContainerGap()));
    PMOrderHistoryLayout.setVerticalGroup(PMOrderHistoryLayout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PMOrderHistoryLayout.createSequentialGroup()
                    .addComponent(PMOrderHistoryScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 187,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(PMOrderHistoryLayout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(FilterTextPMOrderHistory, javax.swing.GroupLayout.PREFERRED_SIZE, 23,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(FilterOptionsPMOrderHistory, javax.swing.GroupLayout.PREFERRED_SIZE,
                                    23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(PMOrderHistoryFilter).addComponent(ClearFilterPMOrderHistory))
                    .addGap(0, 0, Short.MAX_VALUE)));

    PMPlatformTabbedPane.addTab("Executed Order History", PMOrderHistory);

    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 2;
    gridBagConstraints.gridwidth = 2;
    gridBagConstraints.ipady = 127;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
    gridBagConstraints.insets = new java.awt.Insets(6, 0, 0, 85);
    getContentPane().add(PMPlatformTabbedPane, gridBagConstraints);

    ChangePassword.setText("Change Password");
    ChangePassword.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            ChangePasswordActionPerformed(evt);
        }
    });
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 1;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.gridheight = 2;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
    gridBagConstraints.insets = new java.awt.Insets(11, 610, 0, 85);
    getContentPane().add(ChangePassword, gridBagConstraints);

    pack();
}

From source file:de.codesourcery.eve.skills.ui.components.impl.planning.CostStatementComponent.java

protected void populateProductionCostTable() {
    if (jobRequest == null || costCalculator == null) {
        System.out.println("populateProductionCostTable(): Cannot update - dependencies not set.");
        return;//from   w  w  w.j a va 2  s.co m
    }

    final SpreadSheetTableModel tableModel = new SpreadSheetTableModel(new ITableFactory() {

        @Override
        public ITableCell createEmptyCell(int row, int column) {
            return new SimpleCell();
        }

        @Override
        public TableRow createRow(SpreadSheetTableModel tableModel) {
            return new TableRow(tableModel);
        }

    });

    final ProductionCostStatementGenerator calc = new ProductionCostStatementGenerator(jobRequest,
            costCalculator, dataModel);

    statement = calc.createCostStatement();

    tableModel.addRow(rightAligned(bold(cell("Product:"))),
            rightAligned(bold(cell(jobRequest.getProduct().getName()))));

    tableModel.addRow(rightAligned(bold(cell("Produced quantity:"))),
            rightAligned(bold(cell("" + jobRequest.getQuantity()))));

    tableModel.addEmptyRow();

    tableModel.addRow(centered(bold(cell("Cost type"))), centered(bold(cell("Quantity"))),
            centered(bold(cell("Description"))), centered(bold(cell("Price per unit"))),
            centered(bold(cell("Total costs"))));

    // sort by type & description
    final List<CostPosition> sorted = new ArrayList<CostPosition>(statement.getCostPositions());

    Collections.sort(sorted, new Comparator<CostPosition>() {
        @Override
        public int compare(CostPosition o1, CostPosition o2) {

            if (o1.getKind() != o2.getKind()) {
                if (o1.getKind() == CostPosition.Kind.FIXED_COSTS) {
                    return -1;
                } else if (o1.getKind() == CostPosition.Kind.VARIABLE_COSTS) {
                    return 0;
                }
                return 1;
            }
            return o1.getDescription().compareTo(o2.getDescription());
        }
    });

    // 
    ISKAmount totalFixedCost = ISKAmount.ZERO_ISK;
    ISKAmount totalVariableCost = ISKAmount.ZERO_ISK;
    ISKAmount totalOneTimeCost = ISKAmount.ZERO_ISK;
    for (final CostPosition p : sorted) {
        final ISKAmount amount = getTotalAmount(p);

        final ICellEditingCallback cellEditCb = new ICellEditingCallback() {

            @Override
            public void setValue(ITableCell cell, Object value) {
                final CostPositionCell cp = (CostPositionCell) cell;
                final InventoryType itemType = cp.getCostPosition().getItemType();
                if (itemType != null && value instanceof String && StringUtils.isNotBlank((String) value)) {
                    try {
                        final long parsed = AmountHelper.parseISKAmount((String) value);

                        final PriceInfo priceInfo = new PriceInfo(Type.BUY, itemType, Source.USER_PROVIDED);
                        priceInfo.setRegion(getDefaultRegion());
                        priceInfo.setMinPrice(parsed);
                        priceInfo.setAveragePrice(parsed);
                        priceInfo.setMaxPrice(parsed);
                        priceInfo.setTimestamp(new EveDate(getSystemClock()));

                        marketDataProvider.store(priceInfo);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        };
        tableModel.addRow(centered(cell(classify(p))), rightAligned(cell("" + p.getQuantity())),
                leftAligned(cell(p.getDescription())),
                rightAligned(highlightUnknownCost(editableCell(p, p.getPricePerUnit(), cellEditCb))),
                rightAligned(highlightUnknownCost(cell(p, amount))));

        if (p.getKind() == Kind.ONE_TIME_COSTS) {
            totalOneTimeCost = amount.addTo(totalOneTimeCost);
        } else if (p.getKind() == Kind.FIXED_COSTS) {
            totalFixedCost = amount.addTo(totalFixedCost);
        } else if (p.getKind() == Kind.VARIABLE_COSTS) {
            totalVariableCost = amount.addTo(totalVariableCost);
        } else {
            throw new RuntimeException("Internal error, unhandled cost position kind " + p.getKind());
        }
    }

    tableModel.addEmptyRow();

    tableModel.addRow(emptyCell(), emptyCell(), emptyCell(), leftAligned(bold(cell("Total (fixed)"))),
            bold(rightAligned(cell(totalFixedCost))));

    tableModel.addRow(emptyCell(), emptyCell(), emptyCell(), leftAligned(bold(cell("Total (variable)"))),
            bold(rightAligned(cell(totalVariableCost))));

    tableModel.addRow(emptyCell(), emptyCell(), emptyCell(), leftAligned(bold(cell("Total (one-time)"))),
            bold(rightAligned(cell(totalOneTimeCost))));

    tableModel.addEmptyRow();

    tableModel.addRow(emptyCell(), emptyCell(), emptyCell(),
            leftAligned(bold(cell("Total (fixed + variable)"))),
            bold(rightAligned(cell(totalVariableCost.addTo(totalFixedCost)))));

    tableModel.addEmptyRow();

    final ISKAmount pricePerUnit = new ISKAmount(totalVariableCost.addTo(totalFixedCost).toDouble()
            / jobRequest.getManufacturingJobRequest().getQuantity());

    tableModel.addRow(emptyCell(), emptyCell(), emptyCell(), leftAligned(bold(cell("Price per unit"))),
            bold(rightAligned(cell(pricePerUnit))));

    table.setModel(tableModel);
    final JTextField tf = new JTextField();
    table.setDefaultEditor(ITableCell.class, new DefaultCellEditor(tf));
}

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 av a2  s. c om
 */
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {

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

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

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

    fileChooser.setFileFilter(new MyCustomFilter());

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    jFrame1.setLocationRelativeTo(null);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
    jPanel7.setLayout(jPanel7Layout);
    jPanel7Layout.setHorizontalGroup(
            jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel7Layout
                    .createSequentialGroup().addGap(58, 58, 58).addGroup(jPanel7Layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
                                    jPanel7Layout.createSequentialGroup().addGap(224, 224, 224)
                                            .addComponent(testLabel1, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addGap(210, 210, 210))
                            .addGroup(jPanel7Layout.createSequentialGroup().addComponent(jLabel9).addGap(0, 0,
                                    Short.MAX_VALUE))
                            .addGroup(jPanel7Layout.createSequentialGroup().addGroup(jPanel7Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addGroup(jPanel7Layout.createSequentialGroup().addComponent(jLabel26)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                    .addGroup(jPanel7Layout.createSequentialGroup().addComponent(jLabel2)
                                            .addPreferredGap(
                                                    javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                            .addComponent(jLabel30).addGap(88, 88, 88)
                                            .addComponent(jLabel13, javax.swing.GroupLayout.PREFERRED_SIZE, 44,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addGap(111, 111, 111)))
                                    .addGroup(jPanel7Layout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                            .addComponent(rCurrencyComboBox,
                                                    javax.swing.GroupLayout.Alignment.TRAILING,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE, 120,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(rSpinner, javax.swing.GroupLayout.Alignment.TRAILING,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE, 120,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel7Layout
                                    .createSequentialGroup().addGap(0, 0, Short.MAX_VALUE)
                                    .addComponent(rSubmitBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(rFinishBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                                    jPanel7Layout.createSequentialGroup()
                                            .addComponent(rFilePath, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 95,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(rProgressBar, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGap(70, 70, 70)));
    jPanel7Layout.setVerticalGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel7Layout.createSequentialGroup().addGap(39, 39, 39)
                    .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel26).addComponent(rCurrencyComboBox,
                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel7Layout.createSequentialGroup().addGroup(jPanel7Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addGroup(jPanel7Layout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                            .addComponent(rSpinner).addComponent(jLabel13))
                                    .addComponent(jLabel2)).addGap(17, 17, 17)
                                    .addComponent(jPanel11, javax.swing.GroupLayout.PREFERRED_SIZE, 137,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(18, 18, 18).addComponent(jLabel9))
                            .addComponent(jLabel30, javax.swing.GroupLayout.PREFERRED_SIZE, 20,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jButton6).addComponent(rFilePath,
                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(29, 29, 29)
                    .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(rSubmitBtn)
                            .addComponent(rFinishBtn, javax.swing.GroupLayout.Alignment.TRAILING))
                    .addGap(24, 24, 24)
                    .addComponent(rProgressBar, javax.swing.GroupLayout.PREFERRED_SIZE, 15,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(testLabel1).addContainerGap(49, Short.MAX_VALUE)));

    javax.swing.GroupLayout jFrame2Layout = new javax.swing.GroupLayout(jFrame2.getContentPane());
    jFrame2.getContentPane().setLayout(jFrame2Layout);
    jFrame2Layout
            .setHorizontalGroup(jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGap(0, 601, Short.MAX_VALUE)
                    .addGroup(jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jFrame2Layout.createSequentialGroup()
                                    .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, 601,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(0, 0, Short.MAX_VALUE))));
    jFrame2Layout.setVerticalGroup(jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 460, Short.MAX_VALUE)
            .addGroup(jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jFrame2Layout.createSequentialGroup()
                            .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(0, 0, Short.MAX_VALUE))));

    Vector<Component> order = new Vector<Component>(10);
    order.add(rCurrencyComboBox);
    order.add(format8);
    order.add(format4);
    order.add(format5);
    order.add(format6);
    order.add(rFilePath);
    order.add(jButton6);
    order.add(rSubmitBtn);

    newPolicy = new MyOwnFocusTraversalPolicy(order);
    jPanel7.setFocusTraversalPolicy(newPolicy);

    jFrame2.setLocationRelativeTo(null);

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setTitle("Exchange Rate Forecast");
    setIconImage(iconImage);

    jPanel1.setOpaque(false);
    jPanel1.setPreferredSize(new java.awt.Dimension(1360, 610));

    jTabbedPane1.setBackground(new java.awt.Color(204, 204, 204));
    jTabbedPane1.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT);
    jTabbedPane1.setAlignmentX(0.0F);
    jTabbedPane1.setAlignmentY(0.0F);
    jTabbedPane1.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION);
    jTabbedPane1.setOpaque(true);

    jPanel3.setBackground(new java.awt.Color(255, 204, 0));
    jPanel3.setForeground(new java.awt.Color(255, 255, 255));

    jPanel14.setBackground(new java.awt.Color(56, 56, 56, 30));
    jPanel14.setForeground(new java.awt.Color(255, 255, 255));
    jPanel14.setOpaque(false);

    jTextArea1.setEditable(false);
    jTextArea1.setBackground(new java.awt.Color(38, 50, 56, 220));
    jTextArea1.setColumns(20);
    jTextArea1.setFont(new java.awt.Font("Segoe UI Semilight", 0, 28)); // NOI18N
    jTextArea1.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea1.setRows(5);
    jTextArea1.setText("Forecasting Foreign Exchange Rate Using Neural Network");
    jTextArea1.setAlignmentX(2.0F);
    jTextArea1.setAlignmentY(2.0F);
    jTextArea1.setAutoscrolls(false);
    jTextArea1.setCaretColor(new java.awt.Color(204, 255, 102));
    jTextArea1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
    jTextArea1.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea1.setEnabled(false);
    jTextArea1.setFocusable(false);
    jTextArea1.setMargin(new java.awt.Insets(10, 10, 10, 10));
    jTextArea1.setOpaque(false);
    jTextArea1.setRequestFocusEnabled(false);
    jTextArea1.setSelectedTextColor(new java.awt.Color(255, 0, 0));
    jTextArea1.setSelectionColor(new java.awt.Color(255, 51, 51));
    jTextArea1.setSelectionEnd(0);
    jTextArea1.setSelectionStart(0);
    jTextArea1.setVerifyInputWhenFocusTarget(false);

    jPanel4.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel4.setForeground(new java.awt.Color(255, 255, 255));
    jPanel4.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
    jPanel4.setInheritsPopupMenu(true);
    jPanel4.setOpaque(false);
    jPanel4.setPreferredSize(new java.awt.Dimension(400, 58));
    jPanel4.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseExited(java.awt.event.MouseEvent evt) {
            jPanel4MouseExited(evt);
        }

        public void mouseClicked(java.awt.event.MouseEvent evt) {
            jPanel4MouseClicked(evt);
        }

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jPanel4MouseEntered(evt);
        }
    });

    jTextArea4.setEditable(false);
    jTextArea4.setBackground(new java.awt.Color(255, 255, 255, 180));
    jTextArea4.setColumns(20);
    jTextArea4.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    jTextArea4.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea4.setRows(5);
    jTextArea4.setText("Feed Forward Neural Network");
    jTextArea4.setAlignmentX(2.0F);
    jTextArea4.setAlignmentY(2.0F);
    jTextArea4.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
    jTextArea4.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION);
    jTextArea4.setDisabledTextColor(new java.awt.Color(51, 51, 51));
    jTextArea4.setEnabled(false);
    jTextArea4.setFocusable(false);
    jTextArea4.setOpaque(false);
    jTextArea4.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseExited(java.awt.event.MouseEvent evt) {
            jTextArea4MouseExited(evt);
        }

        public void mouseClicked(java.awt.event.MouseEvent evt) {
            jTextArea4MouseClicked(evt);
        }

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jTextArea4MouseEntered(evt);
        }
    });

    javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
    jPanel4.setLayout(jPanel4Layout);
    jPanel4Layout
            .setHorizontalGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel4Layout.createSequentialGroup().addGap(175, 175, 175)
                            .addComponent(jTextArea4, javax.swing.GroupLayout.PREFERRED_SIZE, 245,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(114, Short.MAX_VALUE)));
    jPanel4Layout
            .setVerticalGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel4Layout.createSequentialGroup().addGap(16, 16, 16).addComponent(jTextArea4,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(16, 16, 16)));

    jPanel6.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel6.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
    jPanel6.setInheritsPopupMenu(true);
    jPanel6.setOpaque(false);
    jPanel6.setPreferredSize(new java.awt.Dimension(400, 58));
    jPanel6.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseExited(java.awt.event.MouseEvent evt) {
            jPanel6MouseExited(evt);
        }

        public void mouseClicked(java.awt.event.MouseEvent evt) {
            jPanel6MouseClicked(evt);
        }

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jPanel6MouseEntered(evt);
        }
    });

    jTextArea5.setEditable(false);
    jTextArea5.setBackground(new java.awt.Color(255, 255, 255, 180));
    jTextArea5.setColumns(20);
    jTextArea5.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    jTextArea5.setForeground(new java.awt.Color(51, 51, 51));
    jTextArea5.setRows(5);
    jTextArea5.setText("Recurrent Neural Network");
    jTextArea5.setAlignmentX(2.0F);
    jTextArea5.setAlignmentY(2.0F);
    jTextArea5.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
    jTextArea5.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION);
    jTextArea5.setDisabledTextColor(new java.awt.Color(51, 51, 51));
    jTextArea5.setEnabled(false);
    jTextArea5.setFocusable(false);
    jTextArea5.setOpaque(false);
    jTextArea5.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseExited(java.awt.event.MouseEvent evt) {
            jTextArea5MouseExited(evt);
        }

        public void mouseClicked(java.awt.event.MouseEvent evt) {
            jTextArea5MouseClicked(evt);
        }

        public void mouseEntered(java.awt.event.MouseEvent evt) {
            jTextArea5MouseEntered(evt);
        }
    });

    javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
    jPanel6.setLayout(jPanel6Layout);
    jPanel6Layout.setHorizontalGroup(jPanel6Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup()
                    .addContainerGap(181, Short.MAX_VALUE).addComponent(jTextArea5,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 245, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(113, 113, 113)));
    jPanel6Layout
            .setVerticalGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel6Layout.createSequentialGroup().addGap(16, 16, 16).addComponent(jTextArea5,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(16, 16, 16)));

    jPanel15.setBackground(new java.awt.Color(38, 50, 56, 220));
    jPanel15.setForeground(new java.awt.Color(51, 51, 51));
    jPanel15.setDoubleBuffered(false);
    jPanel15.setEnabled(false);
    jPanel15.setFocusable(false);
    jPanel15.setOpaque(false);

    jTextArea3.setEditable(false);
    jTextArea3.setBackground(new java.awt.Color(38, 50, 56, 0));
    jTextArea3.setColumns(20);
    jTextArea3.setFont(new java.awt.Font("Segoe UI", 0, 20)); // NOI18N
    jTextArea3.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea3.setRows(5);
    jTextArea3.setText("CURRENCY");
    jTextArea3.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea3.setEnabled(false);
    jTextArea3.setOpaque(false);

    javax.swing.GroupLayout jPanel15Layout = new javax.swing.GroupLayout(jPanel15);
    jPanel15.setLayout(jPanel15Layout);
    jPanel15Layout.setHorizontalGroup(jPanel15Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel15Layout.createSequentialGroup()
                    .addContainerGap(237, Short.MAX_VALUE).addComponent(jTextArea3,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(183, 183, 183)));
    jPanel15Layout
            .setVerticalGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel15Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea3,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel16.setBackground(new java.awt.Color(1, 87, 155, 220));
    jPanel16.setDoubleBuffered(false);
    jPanel16.setEnabled(false);
    jPanel16.setFocusable(false);
    jPanel16.setOpaque(false);

    jTextArea6.setEditable(false);
    jTextArea6.setColumns(20);
    jTextArea6.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    jTextArea6.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea6.setRows(5);
    jTextArea6.setText("USD / INR");
    jTextArea6.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea6.setEnabled(false);
    jTextArea6.setOpaque(false);

    javax.swing.GroupLayout jPanel16Layout = new javax.swing.GroupLayout(jPanel16);
    jPanel16.setLayout(jPanel16Layout);
    jPanel16Layout
            .setHorizontalGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel16Layout.createSequentialGroup().addGap(244, 244, 244)
                                    .addComponent(jTextArea6, javax.swing.GroupLayout.PREFERRED_SIZE, 98,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(192, Short.MAX_VALUE)));
    jPanel16Layout
            .setVerticalGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel16Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea6,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel17.setBackground(new java.awt.Color(1, 87, 155, 220));
    jPanel17.setDoubleBuffered(false);
    jPanel17.setEnabled(false);
    jPanel17.setFocusable(false);
    jPanel17.setOpaque(false);

    jTextArea7.setEditable(false);
    jTextArea7.setColumns(20);
    jTextArea7.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    jTextArea7.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea7.setRows(5);
    jTextArea7.setText("GBP / INR");
    jTextArea7.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea7.setEnabled(false);
    jTextArea7.setOpaque(false);

    javax.swing.GroupLayout jPanel17Layout = new javax.swing.GroupLayout(jPanel17);
    jPanel17.setLayout(jPanel17Layout);
    jPanel17Layout
            .setHorizontalGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel17Layout.createSequentialGroup().addGap(244, 244, 244)
                                    .addComponent(jTextArea7, javax.swing.GroupLayout.PREFERRED_SIZE, 98,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(192, Short.MAX_VALUE)));
    jPanel17Layout
            .setVerticalGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel17Layout.createSequentialGroup().addGap(11, 11, 11)
                            .addComponent(jTextArea7, javax.swing.GroupLayout.DEFAULT_SIZE, 31, Short.MAX_VALUE)
                            .addGap(11, 11, 11)));

    jPanel18.setBackground(new java.awt.Color(1, 87, 155, 220));
    jPanel18.setDoubleBuffered(false);
    jPanel18.setEnabled(false);
    jPanel18.setFocusable(false);
    jPanel18.setOpaque(false);

    jTextArea8.setEditable(false);
    jTextArea8.setColumns(20);
    jTextArea8.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    jTextArea8.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea8.setRows(5);
    jTextArea8.setText("EUR / INR");
    jTextArea8.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea8.setEnabled(false);
    jTextArea8.setOpaque(false);

    javax.swing.GroupLayout jPanel18Layout = new javax.swing.GroupLayout(jPanel18);
    jPanel18.setLayout(jPanel18Layout);
    jPanel18Layout
            .setHorizontalGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel18Layout.createSequentialGroup().addGap(244, 244, 244)
                                    .addComponent(jTextArea8, javax.swing.GroupLayout.PREFERRED_SIZE, 98,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(192, Short.MAX_VALUE)));
    jPanel18Layout
            .setVerticalGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel18Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea8,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel19.setBackground(new java.awt.Color(1, 87, 155, 220));
    jPanel19.setForeground(new java.awt.Color(255, 255, 255));
    jPanel19.setDoubleBuffered(false);
    jPanel19.setEnabled(false);
    jPanel19.setFocusable(false);
    jPanel19.setOpaque(false);

    jTextArea9.setEditable(false);
    jTextArea9.setColumns(20);
    jTextArea9.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    jTextArea9.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea9.setRows(5);
    jTextArea9.setText("YEN / INR");
    jTextArea9.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea9.setEnabled(false);
    jTextArea9.setOpaque(false);

    javax.swing.GroupLayout jPanel19Layout = new javax.swing.GroupLayout(jPanel19);
    jPanel19.setLayout(jPanel19Layout);
    jPanel19Layout
            .setHorizontalGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel19Layout.createSequentialGroup().addGap(244, 244, 244)
                                    .addComponent(jTextArea9, javax.swing.GroupLayout.PREFERRED_SIZE, 98,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(192, Short.MAX_VALUE)));
    jPanel19Layout
            .setVerticalGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel19Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea9,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel20.setBackground(new java.awt.Color(38, 50, 56, 220));
    jPanel20.setForeground(new java.awt.Color(51, 51, 51));
    jPanel20.setDoubleBuffered(false);
    jPanel20.setEnabled(false);
    jPanel20.setFocusable(false);
    jPanel20.setOpaque(false);

    jTextArea10.setEditable(false);
    jTextArea10.setBackground(new java.awt.Color(38, 50, 56, 0));
    jTextArea10.setColumns(20);
    jTextArea10.setFont(new java.awt.Font("Segoe UI", 0, 20)); // NOI18N
    jTextArea10.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea10.setRows(5);
    jTextArea10.setText("TODAY");
    jTextArea10.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea10.setEnabled(false);
    jTextArea10.setOpaque(false);

    javax.swing.GroupLayout jPanel20Layout = new javax.swing.GroupLayout(jPanel20);
    jPanel20.setLayout(jPanel20Layout);
    jPanel20Layout
            .setHorizontalGroup(jPanel20Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel20Layout.createSequentialGroup().addGap(101, 101, 101)
                            .addComponent(jTextArea10, javax.swing.GroupLayout.PREFERRED_SIZE, 78,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(85, Short.MAX_VALUE)));
    jPanel20Layout.setVerticalGroup(jPanel20Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel20Layout
                    .createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea10,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(11, 11, 11)));

    jPanel21.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel21.setDoubleBuffered(false);
    jPanel21.setEnabled(false);
    jPanel21.setFocusable(false);
    jPanel21.setOpaque(false);

    todayText1.setEditable(false);
    todayText1.setBackground(new java.awt.Color(255, 255, 255, 0));
    todayText1.setColumns(20);
    todayText1.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    todayText1.setRows(5);
    todayText1.setText("    --");
    todayText1.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    todayText1.setEnabled(false);
    todayText1.setOpaque(false);

    javax.swing.GroupLayout jPanel21Layout = new javax.swing.GroupLayout(jPanel21);
    jPanel21.setLayout(jPanel21Layout);
    jPanel21Layout
            .setHorizontalGroup(jPanel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel21Layout.createSequentialGroup().addGap(102, 102, 102)
                            .addComponent(todayText1, javax.swing.GroupLayout.PREFERRED_SIZE, 71,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(91, Short.MAX_VALUE)));
    jPanel21Layout
            .setVerticalGroup(jPanel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel21Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(todayText1,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel22.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel22.setDoubleBuffered(false);
    jPanel22.setEnabled(false);
    jPanel22.setFocusable(false);
    jPanel22.setOpaque(false);

    todayText2.setEditable(false);
    todayText2.setBackground(new java.awt.Color(255, 255, 255, 0));
    todayText2.setColumns(20);
    todayText2.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    todayText2.setRows(5);
    todayText2.setText("    --");
    todayText2.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    todayText2.setEnabled(false);
    todayText2.setOpaque(false);

    javax.swing.GroupLayout jPanel22Layout = new javax.swing.GroupLayout(jPanel22);
    jPanel22.setLayout(jPanel22Layout);
    jPanel22Layout
            .setHorizontalGroup(jPanel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel22Layout.createSequentialGroup().addGap(102, 102, 102)
                            .addComponent(todayText2, javax.swing.GroupLayout.PREFERRED_SIZE, 71,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(91, Short.MAX_VALUE)));
    jPanel22Layout
            .setVerticalGroup(jPanel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel22Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(todayText2,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel23.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel23.setDoubleBuffered(false);
    jPanel23.setEnabled(false);
    jPanel23.setFocusable(false);
    jPanel23.setOpaque(false);

    todayText3.setEditable(false);
    todayText3.setBackground(new java.awt.Color(255, 255, 255, 0));
    todayText3.setColumns(20);
    todayText3.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    todayText3.setRows(5);
    todayText3.setText("    --");
    todayText3.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    todayText3.setEnabled(false);
    todayText3.setOpaque(false);

    javax.swing.GroupLayout jPanel23Layout = new javax.swing.GroupLayout(jPanel23);
    jPanel23.setLayout(jPanel23Layout);
    jPanel23Layout
            .setHorizontalGroup(jPanel23Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel23Layout.createSequentialGroup().addGap(102, 102, 102)
                            .addComponent(todayText3, javax.swing.GroupLayout.PREFERRED_SIZE, 71,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(91, Short.MAX_VALUE)));
    jPanel23Layout
            .setVerticalGroup(jPanel23Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel23Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(todayText3,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel24.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel24.setDoubleBuffered(false);
    jPanel24.setEnabled(false);
    jPanel24.setFocusable(false);
    jPanel24.setOpaque(false);

    todayText4.setEditable(false);
    todayText4.setBackground(new java.awt.Color(255, 255, 255, 0));
    todayText4.setColumns(20);
    todayText4.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    todayText4.setRows(5);
    todayText4.setText("    --");
    todayText4.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    todayText4.setEnabled(false);
    todayText4.setOpaque(false);

    javax.swing.GroupLayout jPanel24Layout = new javax.swing.GroupLayout(jPanel24);
    jPanel24.setLayout(jPanel24Layout);
    jPanel24Layout
            .setHorizontalGroup(jPanel24Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel24Layout.createSequentialGroup().addGap(102, 102, 102)
                            .addComponent(todayText4, javax.swing.GroupLayout.PREFERRED_SIZE, 71,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(91, Short.MAX_VALUE)));
    jPanel24Layout
            .setVerticalGroup(jPanel24Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel24Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(todayText4,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel25.setBackground(new java.awt.Color(38, 50, 56, 220));
    jPanel25.setForeground(new java.awt.Color(51, 51, 51));
    jPanel25.setDoubleBuffered(false);
    jPanel25.setEnabled(false);
    jPanel25.setFocusable(false);
    jPanel25.setOpaque(false);

    jTextArea15.setEditable(false);
    jTextArea15.setBackground(new java.awt.Color(38, 50, 56, 0));
    jTextArea15.setColumns(20);
    jTextArea15.setFont(new java.awt.Font("Segoe UI", 0, 20)); // NOI18N
    jTextArea15.setForeground(new java.awt.Color(255, 255, 255));
    jTextArea15.setRows(5);
    jTextArea15.setText("TOMORROW");
    jTextArea15.setDisabledTextColor(new java.awt.Color(255, 255, 255));
    jTextArea15.setEnabled(false);
    jTextArea15.setOpaque(false);
    jTextArea15.setRequestFocusEnabled(false);
    jTextArea15.setVerifyInputWhenFocusTarget(false);

    javax.swing.GroupLayout jPanel25Layout = new javax.swing.GroupLayout(jPanel25);
    jPanel25.setLayout(jPanel25Layout);
    jPanel25Layout
            .setHorizontalGroup(jPanel25Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel25Layout.createSequentialGroup()
                                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jTextArea15, javax.swing.GroupLayout.PREFERRED_SIZE, 132,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
    jPanel25Layout.setVerticalGroup(jPanel25Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel25Layout
                    .createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea15,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(11, 11, 11)));

    jPanel26.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel26.setDoubleBuffered(false);
    jPanel26.setEnabled(false);
    jPanel26.setFocusable(false);
    jPanel26.setOpaque(false);

    tmrwText1.setEditable(false);
    tmrwText1.setBackground(new java.awt.Color(255, 255, 255, 0));
    tmrwText1.setColumns(20);
    tmrwText1.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    tmrwText1.setRows(5);
    tmrwText1.setText("      --");
    tmrwText1.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    tmrwText1.setEnabled(false);
    tmrwText1.setOpaque(false);

    javax.swing.GroupLayout jPanel26Layout = new javax.swing.GroupLayout(jPanel26);
    jPanel26.setLayout(jPanel26Layout);
    jPanel26Layout
            .setHorizontalGroup(jPanel26Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel26Layout.createSequentialGroup()
                                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(tmrwText1, javax.swing.GroupLayout.PREFERRED_SIZE, 97,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
    jPanel26Layout
            .setVerticalGroup(jPanel26Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel26Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(tmrwText1,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel27.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel27.setDoubleBuffered(false);
    jPanel27.setEnabled(false);
    jPanel27.setFocusable(false);
    jPanel27.setOpaque(false);

    tmrwText2.setEditable(false);
    tmrwText2.setBackground(new java.awt.Color(255, 255, 255, 0));
    tmrwText2.setColumns(20);
    tmrwText2.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    tmrwText2.setRows(5);
    tmrwText2.setText("      --");
    tmrwText2.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    tmrwText2.setEnabled(false);
    tmrwText2.setOpaque(false);

    javax.swing.GroupLayout jPanel27Layout = new javax.swing.GroupLayout(jPanel27);
    jPanel27.setLayout(jPanel27Layout);
    jPanel27Layout
            .setHorizontalGroup(jPanel27Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel27Layout.createSequentialGroup()
                                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(tmrwText2, javax.swing.GroupLayout.PREFERRED_SIZE, 97,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(85, 85, 85)));
    jPanel27Layout.setVerticalGroup(
            jPanel27Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
                    javax.swing.GroupLayout.Alignment.TRAILING,
                    jPanel27Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(tmrwText2,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel28.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel28.setDoubleBuffered(false);
    jPanel28.setEnabled(false);
    jPanel28.setFocusable(false);
    jPanel28.setOpaque(false);

    tmrwText3.setEditable(false);
    tmrwText3.setBackground(new java.awt.Color(255, 255, 255, 0));
    tmrwText3.setColumns(20);
    tmrwText3.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    tmrwText3.setRows(5);
    tmrwText3.setText("      --");
    tmrwText3.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    tmrwText3.setEnabled(false);
    tmrwText3.setOpaque(false);

    javax.swing.GroupLayout jPanel28Layout = new javax.swing.GroupLayout(jPanel28);
    jPanel28.setLayout(jPanel28Layout);
    jPanel28Layout
            .setHorizontalGroup(jPanel28Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel28Layout.createSequentialGroup().addGap(83, 83, 83)
                            .addComponent(tmrwText3, javax.swing.GroupLayout.PREFERRED_SIZE, 97,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
    jPanel28Layout
            .setVerticalGroup(jPanel28Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel28Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(tmrwText3,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    jPanel29.setBackground(new java.awt.Color(255, 255, 255, 220));
    jPanel29.setDoubleBuffered(false);
    jPanel29.setEnabled(false);
    jPanel29.setFocusable(false);
    jPanel29.setOpaque(false);

    tmrwText4.setEditable(false);
    tmrwText4.setBackground(new java.awt.Color(255, 255, 255, 0));
    tmrwText4.setColumns(20);
    tmrwText4.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
    tmrwText4.setRows(5);
    tmrwText4.setText("      --");
    tmrwText4.setDisabledTextColor(new java.awt.Color(0, 0, 0));
    tmrwText4.setEnabled(false);
    tmrwText4.setOpaque(false);

    javax.swing.GroupLayout jPanel29Layout = new javax.swing.GroupLayout(jPanel29);
    jPanel29.setLayout(jPanel29Layout);
    jPanel29Layout
            .setHorizontalGroup(jPanel29Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel29Layout.createSequentialGroup().addGap(83, 83, 83)
                            .addComponent(tmrwText4, javax.swing.GroupLayout.PREFERRED_SIZE, 97,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
    jPanel29Layout
            .setVerticalGroup(jPanel29Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel29Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(tmrwText4,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(11, 11, 11)));

    statusLabel.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
    statusLabel.setForeground(new java.awt.Color(0, 51, 0));
    statusLabel.setText("Fetching Todays Data From Internet ...");

    javax.swing.GroupLayout jPanel14Layout = new javax.swing.GroupLayout(jPanel14);
    jPanel14.setLayout(jPanel14Layout);
    jPanel14Layout.setHorizontalGroup(jPanel14Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel14Layout.createSequentialGroup().addGap(144, 144, 144).addGroup(jPanel14Layout
                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel14Layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jTextArea1)
                            .addGroup(jPanel14Layout.createSequentialGroup()
                                    .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, 534,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(10, 10, 10).addComponent(jPanel6,
                                            javax.swing.GroupLayout.PREFERRED_SIZE, 539,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel14Layout.createSequentialGroup().addGroup(jPanel14Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jPanel19, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jPanel15, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jPanel16, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jPanel17, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(jPanel18, javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGap(10, 10, 10)
                                    .addGroup(jPanel14Layout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                                                    false)
                                            .addComponent(jPanel21, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(jPanel22, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(jPanel20, javax.swing.GroupLayout.Alignment.LEADING,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(jPanel23, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addComponent(jPanel24, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGap(10, 10, 10)
                                    .addGroup(jPanel14Layout
                                            .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                            .addComponent(jPanel28, javax.swing.GroupLayout.Alignment.LEADING,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addComponent(jPanel26, javax.swing.GroupLayout.Alignment.LEADING,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addComponent(jPanel27, javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addComponent(jPanel29, javax.swing.GroupLayout.Alignment.LEADING,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addComponent(jPanel25, javax.swing.GroupLayout.Alignment.LEADING,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                    .addComponent(statusLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 600,
                            javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(144, Short.MAX_VALUE)));
    jPanel14Layout.setVerticalGroup(jPanel14Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel14Layout.createSequentialGroup().addContainerGap(90, Short.MAX_VALUE)
                    .addComponent(jTextArea1, javax.swing.GroupLayout.PREFERRED_SIZE, 60,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(20, 20, 20)
                    .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel14Layout.createSequentialGroup().addGroup(jPanel14Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel14Layout.createSequentialGroup()
                                            .addComponent(jPanel20, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addGap(6, 6, 6)
                                            .addComponent(jPanel21, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jPanel22, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jPanel23, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel14Layout
                                            .createSequentialGroup()
                                            .addComponent(jPanel15, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jPanel16, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jPanel17, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                            .addComponent(jPanel18, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)))
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jPanel24, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(jPanel14Layout.createSequentialGroup()
                                    .addComponent(jPanel25, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jPanel26, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jPanel27, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jPanel28, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                            javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jPanel29, javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jPanel19, javax.swing.GroupLayout.Alignment.TRAILING,
                                    javax.swing.GroupLayout.PREFERRED_SIZE, 53,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(20, 20, 20)
                    .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(statusLabel).addGap(24, 24, 24)));

    javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
    jPanel3.setLayout(jPanel3Layout);
    jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel14,
                    javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE,
                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE));
    jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel14,
                    javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE,
                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE));

    jTabbedPane1.addTab("          Home          ", jPanel3);

    jPanel10.setBackground(new java.awt.Color(38, 50, 56, 220));
    jPanel10.setDoubleBuffered(false);
    jPanel10.setEnabled(false);
    jPanel10.setFocusable(false);
    jPanel10.setOpaque(false);

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

    CurrencyComboBox.setBackground(new java.awt.Color(56, 56, 56, 0));
    CurrencyComboBox.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    CurrencyComboBox.setModel(new javax.swing.DefaultComboBoxModel<>(
            new String[] { "US Dollar", "British Pound", "Euro", "Yen" }));
    CurrencyComboBox.setAlignmentX(2.0F);
    CurrencyComboBox.setOpaque(false);

    jLabel7.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    jLabel7.setForeground(new java.awt.Color(255, 255, 255));
    jLabel7.setText("Testing Data:");

    testingDataPath.setBackground(new java.awt.Color(255, 255, 255, 200));
    testingDataPath.setMargin(new java.awt.Insets(2, 4, 2, 2));
    testingDataPath.setOpaque(false);
    testingDataPath.addFocusListener(new java.awt.event.FocusAdapter() {
        public void focusGained(java.awt.event.FocusEvent evt) {
            testingDataPathFocusGained(evt);
        }
    });
    testingDataPath.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            testingDataPathMouseClicked(evt);
        }
    });
    testingDataPath.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            testingDataPathActionPerformed(evt);
        }
    });

    testingBrowseBtn.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    testingBrowseBtn.setText("Browse");
    testingBrowseBtn.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            testingBrowseBtnActionPerformed(evt);
        }
    });

    forecastBtn.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    forecastBtn.setText("Forecast");
    forecastBtn.setOpaque(false);
    forecastBtn.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            forecastBtnActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10);
    jPanel10.setLayout(jPanel10Layout);
    jPanel10Layout.setHorizontalGroup(jPanel10Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel10Layout.createSequentialGroup().addGap(18, 18, 18)
                    .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 101,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(CurrencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 108,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(31, 31, 31).addComponent(jLabel7)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(testingDataPath, javax.swing.GroupLayout.PREFERRED_SIZE, 280,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(testingBrowseBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 86,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(forecastBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 142,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(20, 20, 20)));
    jPanel10Layout.setVerticalGroup(jPanel10Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel10Layout.createSequentialGroup().addGap(22, 22, 22)
                    .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel8)
                            .addComponent(CurrencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 31,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel7)
                            .addComponent(testingDataPath, javax.swing.GroupLayout.PREFERRED_SIZE, 31,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(testingBrowseBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 31,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(forecastBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 31,
                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(22, Short.MAX_VALUE)));

    jScrollPane1.setEnabled(false);
    jScrollPane1.setFocusable(false);
    jScrollPane1.setPreferredSize(new java.awt.Dimension(805, 100));

    //forecastTable.getTableHeader().setOpaque(false);
    //forecastTable.getTableHeader().setBackground(new java.awt.Color(0,150,136,220));
    forecastTable.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
    forecastTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object[][] { { "", "", "", "" }, { null, null, null, null }, { null, null, null, null },
                    { null, null, null, null } },
            new String[] { "  Date", "  Input", "  Expected Output", "  Actual Output" }) {
        Class[] types = new Class[] { java.lang.String.class, java.lang.String.class, java.lang.String.class,
                java.lang.String.class };
        boolean[] canEdit = new boolean[] { false, true, false, false };

        public Class getColumnClass(int columnIndex) {
            return types[columnIndex];
        }

        public boolean isCellEditable(int rowIndex, int columnIndex) {
            return canEdit[columnIndex];
        }
    });
    forecastTable.setAlignmentX(20.0F);
    forecastTable.setAlignmentY(20.0F);
    forecastTable.setGridColor(new java.awt.Color(153, 153, 153));
    forecastTable.setIntercellSpacing(new java.awt.Dimension(20, 10));
    forecastTable.setRowHeight(30);
    forecastTable.getTableHeader().setResizingAllowed(false);
    forecastTable.getTableHeader().setReorderingAllowed(false);
    forecastTable.addFocusListener(new java.awt.event.FocusAdapter() {
        public void focusLost(java.awt.event.FocusEvent evt) {
            forecastTableFocusLost(evt);
        }
    });
    jScrollPane1.setViewportView(forecastTable);
    if (forecastTable.getColumnModel().getColumnCount() > 0) {
        forecastTable.getColumnModel().getColumn(0).setMinWidth(150);
        forecastTable.getColumnModel().getColumn(0).setPreferredWidth(150);
        forecastTable.getColumnModel().getColumn(0).setMaxWidth(150);
        forecastTable.getColumnModel().getColumn(1).setMinWidth(550);
        forecastTable.getColumnModel().getColumn(1).setPreferredWidth(550);
        forecastTable.getColumnModel().getColumn(1).setMaxWidth(550);
        forecastTable.getColumnModel().getColumn(1).setCellEditor(dce);
    }

    jPanel12.setBackground(new java.awt.Color(38, 50, 56, 220));
    jPanel12.setOpaque(false);

    jPanel13.setBackground(new java.awt.Color(56, 56, 56, 180));
    jPanel13.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Select Algorithm",
            javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
            javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Segoe UI", 0, 12),
            new java.awt.Color(255, 255, 255))); // NOI18N
    jPanel13.setOpaque(false);

    jRadioButton2.setBackground(new java.awt.Color(56, 56, 56, 180));
    buttonGroup1.add(jRadioButton2);
    jRadioButton2.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    jRadioButton2.setForeground(new java.awt.Color(255, 255, 255));
    jRadioButton2.setText("Recurrent Neural Network");
    jRadioButton2.setContentAreaFilled(false);
    jRadioButton2.addItemListener(new java.awt.event.ItemListener() {
        public void itemStateChanged(java.awt.event.ItemEvent evt) {
            jRadioButton2ItemStateChanged(evt);
        }
    });

    jRadioButton1.setBackground(new java.awt.Color(56, 56, 56, 180));
    buttonGroup1.add(jRadioButton1);
    jRadioButton1.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    jRadioButton1.setForeground(new java.awt.Color(255, 255, 255));
    jRadioButton1.setSelected(true);
    jRadioButton1.setText("Feed Forward Neural Network");
    jRadioButton1.setContentAreaFilled(false);
    jRadioButton1.addItemListener(new java.awt.event.ItemListener() {
        public void itemStateChanged(java.awt.event.ItemEvent evt) {
            jRadioButton1ItemStateChanged(evt);
        }
    });

    javax.swing.GroupLayout jPanel13Layout = new javax.swing.GroupLayout(jPanel13);
    jPanel13.setLayout(jPanel13Layout);
    jPanel13Layout
            .setHorizontalGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                            jPanel13Layout.createSequentialGroup().addGap(95, 95, 95)
                                    .addComponent(jRadioButton1).addGap(102, 102, 102)
                                    .addComponent(jRadioButton2).addContainerGap(116, Short.MAX_VALUE)));
    jPanel13Layout.setVerticalGroup(jPanel13Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel13Layout.createSequentialGroup()
                    .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jRadioButton1).addComponent(jRadioButton2))
                    .addGap(0, 0, Short.MAX_VALUE)));

    javax.swing.GroupLayout jPanel12Layout = new javax.swing.GroupLayout(jPanel12);
    jPanel12.setLayout(jPanel12Layout);
    jPanel12Layout.setHorizontalGroup(jPanel12Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel12Layout.createSequentialGroup().addContainerGap()
                    .addComponent(jPanel13, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
    jPanel12Layout.setVerticalGroup(jPanel12Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel12Layout.createSequentialGroup().addContainerGap()
                    .addComponent(jPanel13, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

    jPanel2.setBackground(new java.awt.Color(38, 50, 56, 220));
    jPanel2.setOpaque(false);

    doneButton1.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    doneButton1.setText("Train NN");
    doneButton1.setOpaque(false);
    doneButton1.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            doneButton1MouseClicked(evt);
        }
    });
    doneButton1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            doneButton1ActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
    jPanel2.setLayout(jPanel2Layout);
    jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
                    javax.swing.GroupLayout.Alignment.TRAILING,
                    jPanel2Layout.createSequentialGroup().addGap(28, 28, 28).addComponent(doneButton1,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(21, 21, 21)));
    jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                    jPanel2Layout.createSequentialGroup().addGap(22, 22, 22).addComponent(doneButton1,
                            javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(23, 23, 23)));

    jPanel30.setBackground(new java.awt.Color(38, 50, 56, 220));
    jPanel30.setDoubleBuffered(false);
    jPanel30.setEnabled(false);
    jPanel30.setFocusable(false);
    jPanel30.setOpaque(false);

    graphBtn.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    graphBtn.setText("Plot Graph");
    graphBtn.setOpaque(false);
    graphBtn.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            graphBtnActionPerformed(evt);
        }
    });

    jButton1.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
    jButton1.setText("Reset");
    jButton1.setOpaque(false);
    jButton1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton1ActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout jPanel30Layout = new javax.swing.GroupLayout(jPanel30);
    jPanel30.setLayout(jPanel30Layout);
    jPanel30Layout.setHorizontalGroup(jPanel30Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel30Layout.createSequentialGroup().addContainerGap()
                    .addGroup(jPanel30Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(graphBtn, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addContainerGap()));
    jPanel30Layout
            .setVerticalGroup(jPanel30Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel30Layout.createSequentialGroup().addGap(22, 22, 22)
                            .addComponent(graphBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 31,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(59, 59, 59).addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE,
                                    31, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(22, 22, 22)));

    javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
    jPanel8.setLayout(jPanel8Layout);
    jPanel8Layout.setHorizontalGroup(jPanel8Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel8Layout.createSequentialGroup().addGap(148, 148, 148).addGroup(jPanel8Layout
                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 1089,
                            javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jPanel8Layout.createSequentialGroup()
                            .addGroup(jPanel8Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addGroup(jPanel8Layout.createSequentialGroup()
                                            .addComponent(jPanel12, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                                            .addGap(10, 10, 10)
                                            .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                    javax.swing.GroupLayout.DEFAULT_SIZE,
                                                    javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addComponent(jPanel10, javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                            .addComponent(jPanel30, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                    .addContainerGap(134, Short.MAX_VALUE)));
    jPanel8Layout.setVerticalGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                    jPanel8Layout.createSequentialGroup().addGap(84, 84, 84).addGroup(jPanel8Layout
                            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(jPanel8Layout.createSequentialGroup().addGroup(jPanel8Layout
                                    .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(jPanel12, javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                    .addGap(11, 11, 11).addComponent(jPanel10,
                                            javax.swing.GroupLayout.PREFERRED_SIZE,
                                            javax.swing.GroupLayout.DEFAULT_SIZE,
                                            javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jPanel30, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 376,
                                    javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(36, 36, 36)));

    jTabbedPane1.addTab("          Forecast          ", jPanel8);

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(jPanel1Layout
            .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jTabbedPane1,
                    javax.swing.GroupLayout.PREFERRED_SIZE, 1376, javax.swing.GroupLayout.PREFERRED_SIZE));
    jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 614, Short.MAX_VALUE));

    jTabbedPane1.getAccessibleContext().setAccessibleName("Home");

    jScrollPane2.setViewportView(jPanel1);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING,
                    javax.swing.GroupLayout.DEFAULT_SIZE, 1371, Short.MAX_VALUE));
    layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(
            jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 586,
            Short.MAX_VALUE));

    pack();
}

From source file:edu.harvard.mcz.imagecapture.VerbatimClassifyDialog.java

/**
 * This method initializes jTableNumbers   
 *    //from  w  ww .j  a va  2 s  .c om
 * @return javax.swing.JTable   
 */
private JTable getJTableNumbers() {
    if (jTableNumbers == null) {
        jTableNumbers = new JTable(new NumberTableModel());
        JComboBox<String> jComboNumberTypes = new JComboBox<String>();
        jComboNumberTypes.setModel(new DefaultComboBoxModel<String>(NumberLifeCycle.getDistinctTypes()));
        jComboNumberTypes.setEditable(true);
        TableColumn typeColumn = jTableNumbers.getColumnModel().getColumn(NumberTableModel.COLUMN_TYPE);
        DefaultCellEditor comboBoxEditor = new DefaultCellEditor(jComboNumberTypes);
        //TODO: enable autocomplete for numbertypes picklist.
        //AutoCompleteDecorator.decorate((JComboBox) comboBoxEditor.getComponent());
        typeColumn.setCellEditor(comboBoxEditor);
        DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
        renderer.setToolTipText("Click for pick list of number types.");
        typeColumn.setCellRenderer(renderer);
    }
    return jTableNumbers;
}

From source file:edu.harvard.mcz.imagecapture.SpecimenDetailsViewPane.java

private void setValues() {
    log.debug("invoking setValues()");
    jTextFieldStatus.setText("Loading");

    jTextFieldBarcode.setText(specimen.getBarcode());
    jComboBoxLocationInCollection.setSelectedItem(specimen.getLocationInCollection());
    cbTypeStatus.setSelectedItem(specimen.getTypeStatus());
    jTextFieldDrawerNumber.setText(specimen.getDrawerNumber());
    jComboBoxFamily.setSelectedItem(specimen.getFamily());
    jComboBoxSubfamily.setSelectedItem(specimen.getSubfamily());
    jTextFieldTribe.setText(specimen.getTribe());
    jTextFieldGenus.setText(specimen.getGenus());
    jTextFieldSpecies.setText(specimen.getSpecificEpithet());
    jTextFieldSubspecies.setText(specimen.getSubspecificEpithet());
    jTextFieldInfraspecificEpithet.setText(specimen.getInfraspecificEpithet());
    jTextFieldInfraspecificRank.setText(specimen.getInfraspecificRank());
    jTextFieldAuthorship.setText(specimen.getAuthorship());

    jTextFieldIdRemarks.setText(specimen.getIdentificationRemarks());
    jTextFieldDateDetermined.setText(specimen.getDateIdentified());

    MCZbaseAuthAgentName selection = new MCZbaseAuthAgentName();
    selection.setAgent_name(specimen.getIdentifiedBy());
    ((AgentNameComboBoxModel) jCBDeterminer.getModel()).setSelectedItem(selection);
    jCBDeterminer.getEditor().setItem(jCBDeterminer.getModel().getSelectedItem());

    jComboBoxNatureOfId.setSelectedItem(specimen.getNatureOfId());

    jTextFieldUnnamedForm.setText(specimen.getUnNamedForm());
    jTextFieldVerbatimLocality.setText(specimen.getVerbatimLocality());
    // Specimen record contains a string, delegate handling of lookup of object to the combo box model.
    log.debug(specimen.getHigherGeography());
    ((HigherGeographyComboBoxModel) comboBoxHigherGeog.getModel())
            .setSelectedItem(specimen.getHigherGeography());
    //TODO ? set model not notifying listeners?       
    comboBoxHigherGeog.getEditor().setItem(comboBoxHigherGeog.getModel().getSelectedItem());
    jTextFieldCountry.setText(specimen.getCountry());
    if (specimen.getValidDistributionFlag() != null) {
        jCheckBoxValidDistributionFlag.setSelected(specimen.getValidDistributionFlag());
    } else {/*w  w  w. j  a v  a  2  s. co  m*/
        jCheckBoxValidDistributionFlag.setSelected(false);
    }
    jTextFieldPrimaryDivision.setText(specimen.getPrimaryDivison());
    jTextFieldLocality.setText(specimen.getSpecificLocality());

    // Elevations  **********************************************************************
    try {
        jTextFieldMinElevation.setText(Long.toString(specimen.getMinimum_elevation()));
    } catch (Exception e) {
        jTextFieldMinElevation.setText("");
    }
    try {
        textFieldMaxElev.setText(Long.toString(specimen.getMaximum_elevation()));
    } catch (Exception e) {
        textFieldMaxElev.setText("");
    }
    if (specimen.getElev_units() != null) {
        comboBoxElevUnits.setSelectedItem(specimen.getElev_units());
    } else {
        comboBoxElevUnits.setSelectedItem("");
    }

    jTextFieldCollectingMethod.setText(specimen.getCollectingMethod());
    jTextFieldISODate.setText(specimen.getIsoDate());
    jTextFieldDateNos.setText(specimen.getDateNos());
    jTextFieldDateCollected.setText(specimen.getDateCollected());
    jTextFieldDateEmerged.setText(specimen.getDateEmerged());
    jTextFieldDateCollectedIndicator.setText(specimen.getDateCollectedIndicator());
    jTextFieldDateEmergedIndicator.setText(specimen.getDateEmergedIndicator());
    jComboBoxCollection.setSelectedItem(specimen.getCollection());
    //jTextFieldPreparationType.setText(specimen.getPreparationType());
    jTextFieldAssociatedTaxon.setText(specimen.getAssociatedTaxon());
    jTextFieldHabitat.setText(specimen.getHabitat());
    jTextAreaSpecimenNotes.setText(specimen.getSpecimenNotes());
    jComboBoxFeatures.setSelectedItem(specimen.getFeatures());
    jComboBoxLifeStage.setSelectedItem(specimen.getLifeStage());
    jComboBoxSex.setSelectedItem(specimen.getSex());
    jTextFieldCitedInPub.setText(specimen.getCitedInPublication());
    jTextFieldQuestions.setText(specimen.getQuestions());
    jComboBoxWorkflowStatus.setSelectedItem(specimen.getWorkFlowStatus());
    if (specimen.isStateDone()) {
        jLabelMigrationStatus.setText("http://mczbase.mcz.harvard.edu/guid/MCZ:Ent:" + specimen.getCatNum());
    } else {
        jLabelMigrationStatus.setText("");
    }
    jTextFieldInferences.setText(specimen.getInferences());
    jTextFieldCreator.setText(specimen.getCreatedBy());
    if (specimen.getDateCreated() != null) {
        jTextFieldDateCreated.setText(specimen.getDateCreated().toString());
    }
    jTextFieldLastUpdatedBy.setText(specimen.getLastUpdatedBy());
    if (specimen.getDateLastUpdated() != null) {
        jTextFieldDateLastUpdated.setText(specimen.getDateLastUpdated().toString());
    }

    jTableNumbers.setModel(new NumberTableModel(specimen.getNumbers()));
    // Setting the model will overwrite the existing cell editor bound 
    // to the column model, so we need to add it again.
    JTextField field1 = new JTextField();
    field1.setInputVerifier(MetadataRetriever.getInputVerifier(edu.harvard.mcz.imagecapture.data.Number.class,
            "Number", field1));
    field1.setVerifyInputWhenFocusTarget(true);
    jTableNumbers.getColumnModel().getColumn(0).setCellEditor(new ValidatingTableCellEditor(field1));
    JComboBox<String> jComboNumberTypes = new JComboBox<String>();
    jComboNumberTypes.setModel(new DefaultComboBoxModel<String>(NumberLifeCycle.getDistinctTypes()));
    jComboNumberTypes.setEditable(true);
    TableColumn typeColumn = jTableNumbers.getColumnModel().getColumn(NumberTableModel.COLUMN_TYPE);
    typeColumn.setCellEditor(new DefaultCellEditor(jComboNumberTypes));

    jTableCollectors.setModel(new CollectorTableModel(specimen.getCollectors()));
    // Setting the model will overwrite the existing cell editor bound 
    // to the column model, so we need to add it again.
    // JTextField field = new JTextField();
    FilteringAgentJComboBox field = new FilteringAgentJComboBox();
    //field.setInputVerifier(MetadataRetriever.getInputVerifier(Collector.class, "CollectorName", field));
    //jTableCollectors.getColumnModel().getColumn(0).setCellEditor(new PicklistTableCellEditor(field, true));
    jTableCollectors.getColumnModel().getColumn(0).setCellEditor(new ComboBoxCellEditor(field));
    //field.setInputVerifier(MetadataRetriever.getInputVerifier(Collector.class, "CollectorName", field));
    //field.setVerifyInputWhenFocusTarget(true);
    //jTableCollectors.getColumnModel().getColumn(0).setCellEditor(new ValidatingTableCellEditor(field));

    jTableSpecimenParts.setModel(new SpecimenPartsTableModel(specimen.getSpecimenParts()));
    jTableSpecimenParts.getColumnModel().getColumn(0).setPreferredWidth(90);
    for (int i = 0; i < jTableSpecimenParts.getColumnCount(); i++) {
        TableColumn column = jTableSpecimenParts.getColumnModel().getColumn(i);
        if (i == 0) {
            column.setPreferredWidth(120);
        } else {
            column.setPreferredWidth(50);
        }
    }
    setSpecimenPartsTableCellEditors();

    updateDeterminationCount();

    if (specimen.getICImages() != null) {
        int imageCount = specimen.getICImages().size();
        jTextFieldImageCount.setText("Number of Images=" + imageCount);
        if (imageCount > 1) {
            jTextFieldImageCount.setForeground(Color.RED);
        } else {
            jTextFieldImageCount.setForeground(Color.BLACK);
        }
    }

    setWarnings();
    this.setStateToClean();
    jTextFieldStatus.setText("Loaded");
}

From source file:edu.harvard.mcz.imagecapture.SpecimenDetailsViewPane.java

private void setSpecimenPartsTableCellEditors() {
    log.debug("Setting cell editors");
    JComboBox comboBoxPart = new JComboBox(SpecimenPart.PARTNAMES);
    //comboBoxPart.addItem("whole animal");
    //comboBoxPart.addItem("partial animal");
    getJTableSpecimenParts().getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(comboBoxPart));
    JComboBox comboBoxPrep = new JComboBox(SpecimenPart.PRESERVENAMES);
    //comboBoxPrep.addItem("pinned");
    //comboBoxPrep.addItem("pointed");
    //comboBoxPrep.addItem("carded");
    //comboBoxPrep.addItem("capsule");
    //comboBoxPrep.addItem("envelope");
    getJTableSpecimenParts().getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(comboBoxPrep));

    getJTableSpecimenParts().getColumnModel().getColumn(4).setCellRenderer(new ButtonRenderer());
    getJTableSpecimenParts().getColumnModel().getColumn(4)
            .setCellEditor(new ButtonEditor(ButtonEditor.OPEN_SPECIMENPARTATTRIBUTES, this));

}

From source file:edu.harvard.mcz.imagecapture.SpecimenDetailsViewPane.java

/**
 * This method initializes jTable   /*  w w  w.ja  v  a2  s. co m*/
 *    
 * @return javax.swing.JTable   
 */
private JTable getJTable() {
    if (jTableNumbers == null) {
        jTableNumbers = new JTable(new NumberTableModel());
        JComboBox<String> jComboNumberTypes = new JComboBox<String>();
        jComboNumberTypes.setModel(new DefaultComboBoxModel<String>(NumberLifeCycle.getDistinctTypes()));
        jComboNumberTypes.setEditable(true);
        TableColumn typeColumn = jTableNumbers.getColumnModel().getColumn(NumberTableModel.COLUMN_TYPE);
        DefaultCellEditor comboBoxEditor = new DefaultCellEditor(jComboNumberTypes);
        //TODO: enable autocomplete for numbertypes picklist.
        //AutoCompleteDecorator.decorate((JComboBox) comboBoxEditor.getComponent());
        typeColumn.setCellEditor(comboBoxEditor);
        DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
        renderer.setToolTipText("Click for pick list of number types.");
        typeColumn.setCellRenderer(renderer);
        jTableNumbers.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent e) {
                thisPane.setStateToDirty();
            }
        });

        jTableNumbers.addMouseListener(new MouseAdapter() {
            @Override
            public void mousePressed(MouseEvent e) {
                if (e.isPopupTrigger()) {
                    clickedOnNumsRow = ((JTable) e.getComponent()).getSelectedRow();
                    jPopupNumbers.show(e.getComponent(), e.getX(), e.getY());
                }
            }

            @Override
            public void mouseReleased(MouseEvent e) {
                if (e.isPopupTrigger()) {
                    clickedOnNumsRow = ((JTable) e.getComponent()).getSelectedRow();
                    jPopupNumbers.show(e.getComponent(), e.getX(), e.getY());
                }
            }
        });

        jPopupNumbers = new JPopupMenu();
        JMenuItem mntmDeleteRow = new JMenuItem("Delete Row");
        mntmDeleteRow.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    if (clickedOnNumsRow >= 0) {
                        int ok = JOptionPane.showConfirmDialog(thisPane, "Delete the selected number?",
                                "Delete Number", JOptionPane.OK_CANCEL_OPTION);
                        if (ok == JOptionPane.OK_OPTION) {
                            log.debug("deleting numbers row " + clickedOnNumsRow);
                            ((NumberTableModel) jTableNumbers.getModel()).deleteRow(clickedOnNumsRow);
                            setStateToDirty();
                        } else {
                            log.debug("number row delete canceled by user.");
                        }
                    } else {
                        JOptionPane.showMessageDialog(thisPane,
                                "Unable to select row to delete.  Try empting number and type and pressing Save.");
                    }
                } catch (Exception ex) {
                    log.error(ex.getMessage());
                    JOptionPane.showMessageDialog(thisPane,
                            "Failed to delete a number row. " + ex.getMessage());
                }
            }
        });
        jPopupNumbers.add(mntmDeleteRow);
    }
    return jTableNumbers;
}