List of usage examples for java.awt Graphics fillRect
public abstract void fillRect(int x, int y, int width, int height);
From source file:org.processmining.analysis.performance.dottedchart.ui.DottedChartPanel.java
protected void paintComponentLane(Graphics g) { double percentileL = dcModel.getTimeStatistics().get(0) .getPercentile(dca.getSettingPanel().getPercentileforInstanceL()); double percentileU = dcModel.getTimeStatistics().get(0) .getPercentile(dca.getSettingPanel().getPercentileforInstanceU()); g.setFont(g.getFont().deriveFont((float) 10.0)); // set initial colors Color fgColor = null;// www. jav a 2s.c om Color bgColor = null; Color tmpColor = null; fgColor = null; bgColor = null; // calculate common coordinates int unitHeight = (this.getHeight() - 2 * border) / getHashMapSize(); int yTop = border; int yBottom = this.getHeight() - border; int pixStart = 0; String dateStr, timeStr, millisStr = null; // calculate area to be painted clipL = (int) g.getClipBounds().getMinX() - 1; clipR = (int) g.getClipBounds().getMaxX() + 1; // initialze start color fgColor = colorLogDark; bgColor = colorLogBright; // calculate current top int currentTop = yTop; // paint actual log lane (only the part in the clipping range // determined) Iterator itr = dcModel.getSortedKeySetList().iterator(); g.setFont(new Font("Dialog", Font.BOLD, 13)); int index = 0; currentTop = yTop; while (itr.hasNext()) { String dimName = (String) itr.next(); LogUnitList tempList = ((LogUnitList) dcModel.getItemMap().get(dimName)); long tempDuration; try { tempDuration = (tempList .getRightBoundaryTimestamp(dcModel.getEventTypeToKeep(), dcModel.getInstanceTypeToKeep()) .getTime() - tempList.getLeftBoundaryTimestamp(dcModel.getEventTypeToKeep(), dcModel.getInstanceTypeToKeep()).getTime()); } catch (Exception ce) { tempDuration = 0; } if (dcModel.getTypeHashMap().equals(ST_INST) && !dcModel.getInstanceTypeToKeep().contains(dimName)) continue; g.setColor(bgColor); g.fillRect(pixStart, currentTop, clipR, currentTop + unitHeight); g.setColor(fgColor); // for bottleneck if (dcOptionPanel.getComponentType().equals(DottedChartPanel.ST_INST) && bBottleneckforInstances && tempDuration >= percentileL && tempDuration <= percentileU) g.setColor(Color.red); else g.setColor(Color.black); g.drawString(dimName, pixStart + 5, currentTop + 20); index++; currentTop = unit2Cord(index); // swap colors tmpColor = fgColor; fgColor = bgColor; bgColor = tmpColor; } g.setFont(new Font("Dialog", Font.PLAIN, 12)); // draw horizontal delimiters g.setColor(colorTimeLine); g.drawLine(clipL, yTop, clipR, yTop); g.drawLine(clipL, yBottom, clipR, yBottom); clipLeftTs = coord2timeMillis(clipL); clipRightTs = coord2timeMillis(clipR); // draw vertical lines // adjust width if (bAdjust) { adjustWidth(); bAdjust = false; } for (long timeStart = dcModel.getLogBoundaryLeft() .getTime(); timeStart < clipRightTs; timeStart += dcOptionPanel.getWidthDivider()) { pixStart = time2coord(timeStart) + border; cal.setTimeInMillis(timeStart); g.setColor(colorTimeLine); g.drawLine(pixStart, yTop, pixStart, yBottom); g.setColor(colorLogDark); g.setColor(Color.black); // to be deleted if (timeOption.equals(TIME_ACTUAL)) { dateStr = cal.get(Calendar.DAY_OF_MONTH) + "." + (cal.get(Calendar.MONTH) + 1) + "." + cal.get(Calendar.YEAR); g.drawString(dateStr, pixStart + 2, yTop); timeStr = cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE) + ":" + cal.get(Calendar.SECOND); g.drawString(timeStr, pixStart + 2, yTop + 10); } else if (timeOption.equals(TIME_RELATIVE_TIME)) { long days = timeStart / 1000 / 60 / 60 / 24; long hours = (timeStart - days * 24 * 60 * 60 * 1000) / 1000 / 60 / 60; long minutes = (timeStart - days * 24 * 60 * 60 * 1000 - hours * 60 * 60 * 1000) / 1000 / 60; long seconds = (timeStart - days * 24 * 60 * 60 * 1000 - hours * 60 * 60 * 1000 - minutes * 60 * 1000) / 1000; timeStr = days + "days:" + hours + ":" + minutes + ":" + seconds; g.drawString(timeStr, pixStart + 2, yTop); } else if (timeOption.equals(TIME_RELATIVE_RATIO)) { timeStr = timeStart / 100 + "." + (timeStart - timeStart / 100 * 100) + "%"; g.drawString(timeStr, pixStart + 2, yTop); } else if (timeOption.equals(TIME_LOGICAL) || timeOption.equals(TIME_LOGICAL_RELATIVE)) { timeStr = String.valueOf(timeStart); g.drawString(timeStr, pixStart + 2, yTop); } } }
From source file:FourByFour.java
/** * Render the current face set in the 2D window. *//*from w w w. j a v a 2 s . c o m*/ public void render2D(Graphics gc) { gc.setColor(background); gc.fillRect(0, 0, width, height); int id; int x, y; float begX; float begY; for (int l = 0; l < 3; l++) { begY = 28.0f + l * (5.f * 23.3f); for (int k = 0; k < 6; k++) { begX = 11.65f + k * (5.f * 11.65f); int count = 0; int face = l * 6 + k; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { x = (int) begX + i * 12; y = (int) begY + j * 12; id = faces[face][count + 2]; if (occupied[id] == HUMAN) { x -= 2; y -= 2; gc.setColor(red); gc.fillRect(x, y, 5, 5); } else if (occupied[id] == MACHINE) { x -= 2; y -= 2; gc.setColor(blue); gc.fillRect(x, y, 5, 5); } else { x -= 1; y -= 1; gc.setColor(gray); gc.fillRect(x, y, 2, 2); } if (highlight[face]) { gc.setColor(yellow); positions.setHighlight(faces[face][count + 2]); } count++; } } if (highlight[face]) gc.setColor(yellow); else gc.setColor(white); if ((face + 1) < 10) gc.drawString("Face " + (face + 1), (int) begX - 2, (int) begY + 60); else gc.drawString("Face " + (face + 1), (int) begX - 4, (int) begY + 60); } } }
From source file:UI.MainUI.java
/** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor./*from ww w. j a va 2 s . co m*/ */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { fileChooser = new javax.swing.JFileChooser(); jFrame1 = new MyFrame(); jPanel5 = new javax.swing.JPanel(); submitBtn = new javax.swing.JButton(); filePath = new java.awt.TextField(); jButton4 = new javax.swing.JButton(); testLabel = new javax.swing.JLabel(); fCurrencyComboBox = new javax.swing.JComboBox<>(); jLabel17 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); jPanel9 = new javax.swing.JPanel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); hiddenNeurons = new javax.swing.JSpinner(); jLabel5 = new javax.swing.JLabel(); fOutputNeurons = new javax.swing.JSpinner(); jLabel23 = new javax.swing.JLabel(); jLabel24 = new javax.swing.JLabel(); jLabel25 = new javax.swing.JLabel(); inputNeurons = new javax.swing.JSpinner(); jProgressBar1 = new JProgressBar(0, 100); finishBtn = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); epochInput = new javax.swing.JSpinner(); jLabel31 = new javax.swing.JLabel(); jLabel14 = new javax.swing.JLabel(); jFrame2 = new MyFrame(); jPanel7 = new javax.swing.JPanel(); rSubmitBtn = new javax.swing.JButton(); rFilePath = new java.awt.TextField(); jButton6 = new javax.swing.JButton(); testLabel1 = new javax.swing.JLabel(); rCurrencyComboBox = new javax.swing.JComboBox<>(); jLabel26 = new javax.swing.JLabel(); jLabel9 = new javax.swing.JLabel(); jPanel11 = new javax.swing.JPanel(); jLabel10 = new javax.swing.JLabel(); jLabel11 = new javax.swing.JLabel(); rHiddenNeurons1 = new javax.swing.JSpinner(); jLabel12 = new javax.swing.JLabel(); jLabel27 = new javax.swing.JLabel(); jLabel28 = new javax.swing.JLabel(); jLabel29 = new javax.swing.JLabel(); rInputNeurons = new javax.swing.JSpinner(); rOutputNeurons = new javax.swing.JSpinner(); rHiddenNeurons2 = new javax.swing.JSpinner(); rProgressBar = new javax.swing.JProgressBar(); rFinishBtn = new javax.swing.JButton(); jLabel2 = new javax.swing.JLabel(); rSpinner = new javax.swing.JSpinner(); jLabel30 = new javax.swing.JLabel(); jLabel13 = new javax.swing.JLabel(); buttonGroup1 = new javax.swing.ButtonGroup(); jScrollPane2 = new javax.swing.JScrollPane(); jPanel1 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; UIManager.put("TabbedPane.contentAreaColor ", ColorUIResource.BLACK); UIManager.put("TabbedPane.selected", ColorUIResource.BLACK); UIManager.put("TabbedPane.unselectedBackground", ColorUIResource.BLACK); // UIManager.put("TabbedPane.background",ColorUIResource.BLUE); UIManager.put("TabbedPane.shadow", ColorUIResource.BLACK); jTabbedPane1 = new javax.swing.JTabbedPane(); jPanel3 = new JPanel() { public void paintComponent(Graphics g) { Image img = Toolkit.getDefaultToolkit() .getImage(MainUI.class.getResource("/resources/NNImage.jpg")); g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this); } }; ; setUIFont(new javax.swing.plaf.FontUIResource("Segoe UI", Font.PLAIN, 14)); jPanel14 = new javax.swing.JPanel(); jTextArea1 = jTextArea1 = new JTextArea() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jPanel4 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jTextArea4 = new javax.swing.JTextArea(); jPanel6 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jTextArea5 = new javax.swing.JTextArea(); jPanel15 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jTextArea3 = new JTextArea() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jPanel16 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jTextArea6 = new javax.swing.JTextArea(); jPanel17 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jTextArea7 = new javax.swing.JTextArea(); jPanel18 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jTextArea8 = new javax.swing.JTextArea(); jPanel19 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jTextArea9 = new javax.swing.JTextArea(); jPanel20 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jTextArea10 = new JTextArea() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jPanel21 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; todayText1 = new JTextArea() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jPanel22 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; todayText2 = new JTextArea() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jPanel23 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; todayText3 = new JTextArea() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jPanel24 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; todayText4 = new JTextArea() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jPanel25 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jTextArea15 = new JTextArea() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jPanel26 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; tmrwText1 = new JTextArea() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jPanel27 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; tmrwText2 = new JTextArea() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jPanel28 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; tmrwText3 = new JTextArea() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jPanel29 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; tmrwText4 = new JTextArea() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; statusLabel = new javax.swing.JLabel(); jPanel8 = new JPanel() { public void paintComponent(Graphics g) { Image img = Toolkit.getDefaultToolkit() .getImage(MainUI.class.getResource("/resources/NNImage.jpg")); g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this); } }; ; jPanel10 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jLabel8 = new javax.swing.JLabel(); CurrencyComboBox = new JComboBox() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jLabel7 = new javax.swing.JLabel(); testingDataPath = new JTextField() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; testingBrowseBtn = new javax.swing.JToggleButton(); forecastBtn = new javax.swing.JButton(); jScrollPane1 = new JScrollPane() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; Caret caret = new DefaultCaret() { public void focusGained(FocusEvent e) { setVisible(true); setSelectionVisible(true); } }; caret.setBlinkRate(UIManager.getInt("TextField.caretBlinkRate")); JTextField textField = new JTextField(); textField.setEditable(false); textField.setCaret(caret); //textField.setBorder(new LineBorder(Color.BLACK)); // textField.setBackground(Color.BLUE); DefaultCellEditor dce = new DefaultCellEditor(textField); forecastTable = new JTable(); jPanel12 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; jPanel13 = new javax.swing.JPanel(); jRadioButton2 = new javax.swing.JRadioButton(); jRadioButton1 = new javax.swing.JRadioButton(); jPanel2 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; doneButton1 = new javax.swing.JButton(); jPanel30 = new JPanel() { protected void paintComponent(Graphics g) { g.setColor(getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); super.paintComponent(g); } }; ; graphBtn = new javax.swing.JButton(); jButton1 = new javax.swing.JButton(); fileChooser.setFileFilter(new MyCustomFilter()); jFrame1.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); jFrame1.setTitle("Train Feed Forward Neural Network"); jFrame1.setBackground(new java.awt.Color(102, 102, 102)); jFrame1.setFocusTraversalPolicyProvider(true); jFrame1.setIconImage(iconImage); jFrame1.setResizable(false); jFrame1.setSize(new java.awt.Dimension(580, 420)); jPanel5.setBackground(new java.awt.Color(38, 50, 56)); jPanel5.setAlignmentX(0.0F); jPanel5.setAlignmentY(0.0F); jPanel5.setPreferredSize(new java.awt.Dimension(480, 480)); submitBtn.setText("Start"); submitBtn.setOpaque(false); submitBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { submitBtnActionPerformed(evt); } }); filePath.addFocusListener(new java.awt.event.FocusAdapter() { public void focusGained(java.awt.event.FocusEvent evt) { filePathFocusGained(evt); } }); filePath.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { filePathActionPerformed(evt); } }); jButton4.setText("Browse"); jButton4.setOpaque(false); jButton4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton4ActionPerformed(evt); } }); fCurrencyComboBox.setBackground(new java.awt.Color(56, 56, 56, 0)); fCurrencyComboBox.setModel(new javax.swing.DefaultComboBoxModel<>( new String[] { "US Dollar", "British Pound", "Euro", "Yen" })); fCurrencyComboBox.setOpaque(false); fCurrencyComboBox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { fCurrencyComboBoxActionPerformed(evt); } }); jLabel17.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N jLabel17.setForeground(new java.awt.Color(255, 255, 255)); jLabel17.setLabelFor(fCurrencyComboBox); jLabel17.setText("Select Currency :"); jLabel6.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N jLabel6.setForeground(new java.awt.Color(240, 240, 240)); jLabel6.setText("Training Data Path:"); jPanel9.setBackground(new java.awt.Color(51, 51, 51)); jPanel9.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Enter Neurons", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Segoe UI", 0, 12), new java.awt.Color(240, 240, 240))); // NOI18N jPanel9.setFont(new java.awt.Font("Segoe UI", 0, 12)); // NOI18N jPanel9.setOpaque(false); jLabel3.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N jLabel3.setForeground(new java.awt.Color(240, 240, 240)); jLabel3.setLabelFor(inputNeurons); jLabel3.setText("Input Layer:"); jLabel3.setToolTipText(""); jLabel3.setAlignmentY(0.0F); jLabel3.setMaximumSize(new java.awt.Dimension(63, 14)); jLabel3.setMinimumSize(new java.awt.Dimension(63, 14)); jLabel3.setPreferredSize(new java.awt.Dimension(63, 14)); jLabel4.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N jLabel4.setForeground(new java.awt.Color(240, 240, 240)); jLabel4.setText("Hidden Layer:"); hiddenNeurons.setModel(new javax.swing.SpinnerNumberModel(1, 1, 500, 1)); JFormattedTextField format2 = ((JSpinner.DefaultEditor) hiddenNeurons.getEditor()).getTextField(); format2.addFocusListener(fcsListener); hiddenNeurons.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); hiddenNeurons.setOpaque(false); jLabel5.setForeground(new java.awt.Color(240, 240, 240)); jLabel5.setText("Output Layer:"); fOutputNeurons.setModel(new javax.swing.SpinnerNumberModel(1, null, null, 1)); JFormattedTextField format3 = ((JSpinner.DefaultEditor) fOutputNeurons.getEditor()).getTextField(); format3.addFocusListener(fcsListener); fOutputNeurons.setEnabled(false); fOutputNeurons.setOpaque(false); jLabel23.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N jLabel23.setForeground(new java.awt.Color(255, 153, 102)); jLabel23.setIcon( new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N jLabel23.setToolTipText( "<html>Enter number of neurons in input layer<br>equal to number of input.<br>Range 1 - 500</html>"); jLabel23.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jLabel24.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N jLabel24.setForeground(new java.awt.Color(255, 153, 102)); jLabel24.setIcon( new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N jLabel24.setToolTipText( "<html>Enter number of neurons in<br> hidden layer of neural network.<br>Range 1 - 500</html>"); jLabel25.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N jLabel25.setForeground(new java.awt.Color(255, 153, 102)); jLabel25.setIcon( new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N jLabel25.setToolTipText( "<html>Number of neurons in output layer<br> of NN, equal to number of output.</html>"); inputNeurons.setModel(new javax.swing.SpinnerNumberModel(1, 1, 500, 1)); JFormattedTextField format1 = ((JSpinner.DefaultEditor) inputNeurons.getEditor()).getTextField(); format1.addFocusListener(fcsListener); inputNeurons.setToolTipText(""); inputNeurons.setOpaque(false); javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9); jPanel9.setLayout(jPanel9Layout); jPanel9Layout.setHorizontalGroup(jPanel9Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel9Layout.createSequentialGroup().addGap(36, 36, 36) .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel9Layout.createSequentialGroup() .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel23)) .addComponent(inputNeurons, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(48, 48, 48) .addGroup( jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(jPanel9Layout.createSequentialGroup().addComponent(jLabel4) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel24)) .addComponent(hiddenNeurons)) .addGap(48, 48, 48) .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(fOutputNeurons, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(jPanel9Layout.createSequentialGroup().addComponent(jLabel5) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel25))) .addGap(36, 36, 36))); jPanel9Layout.setVerticalGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel9Layout.createSequentialGroup().addGap(22, 22, 22).addGroup(jPanel9Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel23, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel24, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jLabel25, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel9Layout.createSequentialGroup().addGroup(jPanel9Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE, false) .addComponent(hiddenNeurons).addComponent(fOutputNeurons)) .addGap(0, 0, Short.MAX_VALUE)) .addComponent(inputNeurons)) .addContainerGap())); jProgressBar1.setForeground(new java.awt.Color(51, 128, 244)); jProgressBar1.setStringPainted(true); finishBtn.setText("Finish"); finishBtn.setEnabled(false); finishBtn.setOpaque(false); finishBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { finishBtnActionPerformed(evt); } }); jLabel1.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N jLabel1.setForeground(new java.awt.Color(255, 255, 255)); jLabel1.setLabelFor(epochInput); jLabel1.setText("Number of Epoch"); epochInput.setModel(new javax.swing.SpinnerNumberModel(500, 1, 50000, 500)); JFormattedTextField format0 = ((JSpinner.DefaultEditor) epochInput.getEditor()).getTextField(); format0.addFocusListener(fcsListener); epochInput.setOpaque(false); jLabel31.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N jLabel31.setForeground(new java.awt.Color(255, 153, 102)); jLabel31.setIcon( new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N jLabel31.setToolTipText( "<html>Number of Iteration to train over training data.<br>Range 1 - 50,000</html>"); jLabel31.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jLabel14.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N jLabel14.setForeground(new java.awt.Color(255, 255, 255)); jLabel14.setText(" :"); javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5); jPanel5.setLayout(jPanel5Layout); jPanel5Layout.setHorizontalGroup(jPanel5Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup().addGap(224, 224, 224) .addComponent(testLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(49, 49, 49)) .addGroup(jPanel5Layout.createSequentialGroup().addGap(63, 63, 63) .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(jPanel5Layout.createSequentialGroup() .addComponent(submitBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent( finishBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(jPanel5Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jProgressBar1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent( jPanel9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout .createSequentialGroup().addGroup(jPanel5Layout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(jPanel5Layout.createSequentialGroup() .addComponent(jLabel1) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabel31).addGap(82, 82, 82) .addComponent(jLabel14)) .addComponent(jLabel17, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel5Layout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(fCurrencyComboBox, 0, 137, Short.MAX_VALUE) .addComponent(epochInput))) .addGroup(jPanel5Layout.createSequentialGroup().addGroup(jPanel5Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel5Layout.createSequentialGroup() .addComponent(jLabel6).addGap(0, 0, Short.MAX_VALUE)) .addComponent(filePath, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addContainerGap(43, Short.MAX_VALUE))); jPanel5Layout.setVerticalGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel5Layout.createSequentialGroup().addGap(39, 39, 39) .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel17).addComponent(fCurrencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel5Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(jPanel5Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(epochInput, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel14, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(jPanel5Layout.createSequentialGroup() .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(3, 3, 3))) .addComponent(jLabel31, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addComponent(jPanel9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jButton4).addGroup( jPanel5Layout.createSequentialGroup().addComponent(jLabel6).addGap(2, 2, 2) .addComponent(filePath, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGap(29, 29, 29) .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(finishBtn).addComponent(submitBtn)) .addGap(18, 18, 18) .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(56, 56, 56).addComponent(testLabel) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); javax.swing.GroupLayout jFrame1Layout = new javax.swing.GroupLayout(jFrame1.getContentPane()); jFrame1.getContentPane().setLayout(jFrame1Layout); jFrame1Layout.setHorizontalGroup(jFrame1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGap(0, 580, Short.MAX_VALUE) .addGroup(jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, 580, Short.MAX_VALUE))); jFrame1Layout.setVerticalGroup(jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 425, Short.MAX_VALUE) .addGroup(jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, 425, Short.MAX_VALUE))); jFrame1.setLocationRelativeTo(null); jFrame2.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); jFrame2.setTitle("Train Recurrent Neural Network"); jFrame2.setBackground(new java.awt.Color(102, 102, 102)); jFrame2.setIconImage(iconImage); jFrame2.setResizable(false); jFrame2.setSize(new java.awt.Dimension(601, 460)); jPanel7.setBackground(new java.awt.Color(38, 50, 56)); jPanel7.setAlignmentX(0.0F); jPanel7.setAlignmentY(0.0F); jPanel7.setFocusCycleRoot(true); jPanel7.setFocusTraversalPolicy(newPolicy); jPanel7.setPreferredSize(new java.awt.Dimension(590, 460)); rSubmitBtn.setText("Start"); rSubmitBtn.setOpaque(false); rSubmitBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { rSubmitBtnActionPerformed(evt); } }); rFilePath.addFocusListener(new java.awt.event.FocusAdapter() { public void focusGained(java.awt.event.FocusEvent evt) { rFilePathFocusGained(evt); } }); rFilePath.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { rFilePathActionPerformed(evt); } }); jButton6.setText("Browse"); jButton6.setOpaque(false); jButton6.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton6ActionPerformed(evt); } }); rCurrencyComboBox.setBackground(new java.awt.Color(56, 56, 56, 0)); rCurrencyComboBox.setModel(new javax.swing.DefaultComboBoxModel<>( new String[] { "US Dollar", "British Pound", "Euro", "Yen" })); rCurrencyComboBox.setOpaque(false); rCurrencyComboBox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { rCurrencyComboBoxActionPerformed(evt); } }); jLabel26.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N jLabel26.setForeground(new java.awt.Color(255, 255, 255)); jLabel26.setText("Select Currency :"); jLabel9.setForeground(new java.awt.Color(240, 240, 240)); jLabel9.setText("Training Data Path:"); jPanel11.setBackground(new java.awt.Color(51, 51, 51)); jPanel11.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Enter Neurons", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Segoe UI", 0, 12), new java.awt.Color(255, 255, 255))); // NOI18N jPanel11.setOpaque(false); jLabel10.setForeground(new java.awt.Color(240, 240, 240)); jLabel10.setText("Input Layer:"); jLabel10.setToolTipText(""); jLabel10.setAlignmentY(0.0F); jLabel10.setMaximumSize(new java.awt.Dimension(63, 14)); jLabel10.setMinimumSize(new java.awt.Dimension(63, 14)); jLabel10.setPreferredSize(new java.awt.Dimension(63, 14)); jLabel11.setForeground(new java.awt.Color(240, 240, 240)); jLabel11.setText("Hidden Layer:"); rHiddenNeurons1.setModel(new javax.swing.SpinnerNumberModel(1, 1, 500, 1)); JFormattedTextField format5 = ((JSpinner.DefaultEditor) rHiddenNeurons1.getEditor()).getTextField(); format5.addFocusListener(fcsListener); rHiddenNeurons1.setNextFocusableComponent(rHiddenNeurons2); rHiddenNeurons1.setOpaque(false); jLabel12.setForeground(new java.awt.Color(240, 240, 240)); jLabel12.setText("Output Layer:"); jLabel27.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N jLabel27.setForeground(new java.awt.Color(255, 153, 102)); jLabel27.setIcon( new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N jLabel27.setToolTipText( "<html>Enter number of neurons in input layer<br>equal to number of input.<br>Range 1 - 500</html>"); jLabel27.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jLabel28.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N jLabel28.setForeground(new java.awt.Color(255, 153, 102)); jLabel28.setIcon( new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N jLabel28.setToolTipText( "<html>Enter number of neurons in<br> hidden layer of neural network.<br>Range 1 - 500</html>"); jLabel29.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N jLabel29.setForeground(new java.awt.Color(255, 153, 102)); jLabel29.setIcon( new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N jLabel29.setToolTipText( "<html>Number of neurons in output layer<br> of NN, equal to number of output.</html>"); rInputNeurons.setModel(new javax.swing.SpinnerNumberModel(1, 1, 500, 1)); JFormattedTextField format4 = ((JSpinner.DefaultEditor) rInputNeurons.getEditor()).getTextField(); format4.addFocusListener(fcsListener); rInputNeurons.setNextFocusableComponent(rHiddenNeurons1); rInputNeurons.setOpaque(false); rOutputNeurons.setModel(new javax.swing.SpinnerNumberModel(1, null, null, 1)); JFormattedTextField format7 = ((JSpinner.DefaultEditor) rOutputNeurons.getEditor()).getTextField(); format7.addFocusListener(fcsListener); rOutputNeurons.setEnabled(false); rOutputNeurons.setNextFocusableComponent(rFilePath); rOutputNeurons.setOpaque(false); rHiddenNeurons2.setModel(new javax.swing.SpinnerNumberModel(1, 1, 500, 1)); JFormattedTextField format6 = ((JSpinner.DefaultEditor) rHiddenNeurons2.getEditor()).getTextField(); format6.addFocusListener(fcsListener); rHiddenNeurons2.setNextFocusableComponent(rOutputNeurons); rHiddenNeurons2.setOpaque(false); javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11); jPanel11.setLayout(jPanel11Layout); jPanel11Layout.setHorizontalGroup(jPanel11Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel11Layout.createSequentialGroup().addGap(34, 34, 34) .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel11Layout.createSequentialGroup() .addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel27)) .addComponent(rInputNeurons, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(52, 52, 52) .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel11Layout.createSequentialGroup().addComponent(jLabel11) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel28)) .addComponent(rHiddenNeurons2, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(rHiddenNeurons1, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(52, 52, 52) .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel11Layout.createSequentialGroup().addComponent(jLabel12) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel29)) .addComponent(rOutputNeurons, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(38, 38, 38))); jPanel11Layout.setVerticalGroup(jPanel11Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel11Layout.createSequentialGroup().addGap(22, 22, 22).addGroup(jPanel11Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel27, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel28, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel12, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jLabel29, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addGroup( jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel11Layout.createSequentialGroup().addGroup(jPanel11Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(rHiddenNeurons1).addComponent(rOutputNeurons)) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(rHiddenNeurons2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(28, 28, 28)) .addGroup(jPanel11Layout.createSequentialGroup() .addComponent(rInputNeurons, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))); rProgressBar.setForeground(new java.awt.Color(51, 128, 244)); rProgressBar.setStringPainted(true); rFinishBtn.setText("Finish"); rFinishBtn.setEnabled(false); rFinishBtn.setOpaque(false); rFinishBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { rFinishBtnActionPerformed(evt); } }); jLabel2.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N jLabel2.setForeground(new java.awt.Color(255, 255, 255)); jLabel2.setLabelFor(rSpinner); jLabel2.setText("Number of Epoch"); rSpinner.setModel(new javax.swing.SpinnerNumberModel(500, 1, 50000, 500)); JFormattedTextField format8 = ((JSpinner.DefaultEditor) rSpinner.getEditor()).getTextField(); format8.addFocusListener(fcsListener); rSpinner.setOpaque(false); jLabel30.setFont(new java.awt.Font("Kartika", 1, 11)); // NOI18N jLabel30.setForeground(new java.awt.Color(255, 153, 102)); jLabel30.setIcon( new javax.swing.ImageIcon(getClass().getResource("/resources/ic_info_outline_white_18dp_1x.png"))); // NOI18N jLabel30.setToolTipText( "<html>Number of Iteration to train over training data.<br>Range 1 - 50,000</html>"); jLabel30.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jLabel13.setFont(new java.awt.Font("Segoe UI", 0, 13)); // NOI18N jLabel13.setForeground(new java.awt.Color(255, 255, 255)); jLabel13.setText(" :"); javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7); jPanel7.setLayout(jPanel7Layout); jPanel7Layout.setHorizontalGroup( jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(jPanel7Layout .createSequentialGroup().addGap(58, 58, 58).addGroup(jPanel7Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup( jPanel7Layout.createSequentialGroup().addGap(224, 224, 224) .addComponent(testLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(210, 210, 210)) .addGroup(jPanel7Layout.createSequentialGroup().addComponent(jLabel9).addGap(0, 0, Short.MAX_VALUE)) .addGroup(jPanel7Layout.createSequentialGroup().addGroup(jPanel7Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(jPanel7Layout.createSequentialGroup().addComponent(jLabel26) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(jPanel7Layout.createSequentialGroup().addComponent(jLabel2) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabel30).addGap(88, 88, 88) .addComponent(jLabel13, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(111, 111, 111))) .addGroup(jPanel7Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(rCurrencyComboBox, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(rSpinner, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel7Layout .createSequentialGroup().addGap(0, 0, Short.MAX_VALUE) .addComponent(rSubmitBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(rFinishBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel7Layout.createSequentialGroup() .addComponent(rFilePath, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(rProgressBar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(70, 70, 70))); jPanel7Layout.setVerticalGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel7Layout.createSequentialGroup().addGap(39, 39, 39) .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel26).addComponent(rCurrencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel7Layout.createSequentialGroup().addGroup(jPanel7Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(jPanel7Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(rSpinner).addComponent(jLabel13)) .addComponent(jLabel2)).addGap(17, 17, 17) .addComponent(jPanel11, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18).addComponent(jLabel9)) .addComponent(jLabel30, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jButton6).addComponent(rFilePath, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(29, 29, 29) .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(rSubmitBtn) .addComponent(rFinishBtn, javax.swing.GroupLayout.Alignment.TRAILING)) .addGap(24, 24, 24) .addComponent(rProgressBar, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(testLabel1).addContainerGap(49, Short.MAX_VALUE))); javax.swing.GroupLayout jFrame2Layout = new javax.swing.GroupLayout(jFrame2.getContentPane()); jFrame2.getContentPane().setLayout(jFrame2Layout); jFrame2Layout .setHorizontalGroup(jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 601, Short.MAX_VALUE) .addGroup(jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jFrame2Layout.createSequentialGroup() .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, 601, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, Short.MAX_VALUE)))); jFrame2Layout.setVerticalGroup(jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 460, Short.MAX_VALUE) .addGroup(jFrame2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jFrame2Layout.createSequentialGroup() .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, Short.MAX_VALUE)))); Vector<Component> order = new Vector<Component>(10); order.add(rCurrencyComboBox); order.add(format8); order.add(format4); order.add(format5); order.add(format6); order.add(rFilePath); order.add(jButton6); order.add(rSubmitBtn); newPolicy = new MyOwnFocusTraversalPolicy(order); jPanel7.setFocusTraversalPolicy(newPolicy); jFrame2.setLocationRelativeTo(null); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("Exchange Rate Forecast"); setIconImage(iconImage); jPanel1.setOpaque(false); jPanel1.setPreferredSize(new java.awt.Dimension(1360, 610)); jTabbedPane1.setBackground(new java.awt.Color(204, 204, 204)); jTabbedPane1.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT); jTabbedPane1.setAlignmentX(0.0F); jTabbedPane1.setAlignmentY(0.0F); jTabbedPane1.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION); jTabbedPane1.setOpaque(true); jPanel3.setBackground(new java.awt.Color(255, 204, 0)); jPanel3.setForeground(new java.awt.Color(255, 255, 255)); jPanel14.setBackground(new java.awt.Color(56, 56, 56, 30)); jPanel14.setForeground(new java.awt.Color(255, 255, 255)); jPanel14.setOpaque(false); jTextArea1.setEditable(false); jTextArea1.setBackground(new java.awt.Color(38, 50, 56, 220)); jTextArea1.setColumns(20); jTextArea1.setFont(new java.awt.Font("Segoe UI Semilight", 0, 28)); // NOI18N jTextArea1.setForeground(new java.awt.Color(255, 255, 255)); jTextArea1.setRows(5); jTextArea1.setText("Forecasting Foreign Exchange Rate Using Neural Network"); jTextArea1.setAlignmentX(2.0F); jTextArea1.setAlignmentY(2.0F); jTextArea1.setAutoscrolls(false); jTextArea1.setCaretColor(new java.awt.Color(204, 255, 102)); jTextArea1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jTextArea1.setDisabledTextColor(new java.awt.Color(255, 255, 255)); jTextArea1.setEnabled(false); jTextArea1.setFocusable(false); jTextArea1.setMargin(new java.awt.Insets(10, 10, 10, 10)); jTextArea1.setOpaque(false); jTextArea1.setRequestFocusEnabled(false); jTextArea1.setSelectedTextColor(new java.awt.Color(255, 0, 0)); jTextArea1.setSelectionColor(new java.awt.Color(255, 51, 51)); jTextArea1.setSelectionEnd(0); jTextArea1.setSelectionStart(0); jTextArea1.setVerifyInputWhenFocusTarget(false); jPanel4.setBackground(new java.awt.Color(255, 255, 255, 220)); jPanel4.setForeground(new java.awt.Color(255, 255, 255)); jPanel4.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jPanel4.setInheritsPopupMenu(true); jPanel4.setOpaque(false); jPanel4.setPreferredSize(new java.awt.Dimension(400, 58)); jPanel4.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseExited(java.awt.event.MouseEvent evt) { jPanel4MouseExited(evt); } public void mouseClicked(java.awt.event.MouseEvent evt) { jPanel4MouseClicked(evt); } public void mouseEntered(java.awt.event.MouseEvent evt) { jPanel4MouseEntered(evt); } }); jTextArea4.setEditable(false); jTextArea4.setBackground(new java.awt.Color(255, 255, 255, 180)); jTextArea4.setColumns(20); jTextArea4.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N jTextArea4.setForeground(new java.awt.Color(255, 255, 255)); jTextArea4.setRows(5); jTextArea4.setText("Feed Forward Neural Network"); jTextArea4.setAlignmentX(2.0F); jTextArea4.setAlignmentY(2.0F); jTextArea4.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jTextArea4.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION); jTextArea4.setDisabledTextColor(new java.awt.Color(51, 51, 51)); jTextArea4.setEnabled(false); jTextArea4.setFocusable(false); jTextArea4.setOpaque(false); jTextArea4.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseExited(java.awt.event.MouseEvent evt) { jTextArea4MouseExited(evt); } public void mouseClicked(java.awt.event.MouseEvent evt) { jTextArea4MouseClicked(evt); } public void mouseEntered(java.awt.event.MouseEvent evt) { jTextArea4MouseEntered(evt); } }); javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4); jPanel4.setLayout(jPanel4Layout); jPanel4Layout .setHorizontalGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel4Layout.createSequentialGroup().addGap(175, 175, 175) .addComponent(jTextArea4, javax.swing.GroupLayout.PREFERRED_SIZE, 245, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(114, Short.MAX_VALUE))); jPanel4Layout .setVerticalGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel4Layout.createSequentialGroup().addGap(16, 16, 16).addComponent(jTextArea4, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(16, 16, 16))); jPanel6.setBackground(new java.awt.Color(255, 255, 255, 220)); jPanel6.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jPanel6.setInheritsPopupMenu(true); jPanel6.setOpaque(false); jPanel6.setPreferredSize(new java.awt.Dimension(400, 58)); jPanel6.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseExited(java.awt.event.MouseEvent evt) { jPanel6MouseExited(evt); } public void mouseClicked(java.awt.event.MouseEvent evt) { jPanel6MouseClicked(evt); } public void mouseEntered(java.awt.event.MouseEvent evt) { jPanel6MouseEntered(evt); } }); jTextArea5.setEditable(false); jTextArea5.setBackground(new java.awt.Color(255, 255, 255, 180)); jTextArea5.setColumns(20); jTextArea5.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N jTextArea5.setForeground(new java.awt.Color(51, 51, 51)); jTextArea5.setRows(5); jTextArea5.setText("Recurrent Neural Network"); jTextArea5.setAlignmentX(2.0F); jTextArea5.setAlignmentY(2.0F); jTextArea5.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jTextArea5.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION); jTextArea5.setDisabledTextColor(new java.awt.Color(51, 51, 51)); jTextArea5.setEnabled(false); jTextArea5.setFocusable(false); jTextArea5.setOpaque(false); jTextArea5.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseExited(java.awt.event.MouseEvent evt) { jTextArea5MouseExited(evt); } public void mouseClicked(java.awt.event.MouseEvent evt) { jTextArea5MouseClicked(evt); } public void mouseEntered(java.awt.event.MouseEvent evt) { jTextArea5MouseEntered(evt); } }); javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6); jPanel6.setLayout(jPanel6Layout); jPanel6Layout.setHorizontalGroup(jPanel6Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel6Layout.createSequentialGroup() .addContainerGap(181, Short.MAX_VALUE).addComponent(jTextArea5, javax.swing.GroupLayout.PREFERRED_SIZE, 245, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(113, 113, 113))); jPanel6Layout .setVerticalGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel6Layout.createSequentialGroup().addGap(16, 16, 16).addComponent(jTextArea5, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(16, 16, 16))); jPanel15.setBackground(new java.awt.Color(38, 50, 56, 220)); jPanel15.setForeground(new java.awt.Color(51, 51, 51)); jPanel15.setDoubleBuffered(false); jPanel15.setEnabled(false); jPanel15.setFocusable(false); jPanel15.setOpaque(false); jTextArea3.setEditable(false); jTextArea3.setBackground(new java.awt.Color(38, 50, 56, 0)); jTextArea3.setColumns(20); jTextArea3.setFont(new java.awt.Font("Segoe UI", 0, 20)); // NOI18N jTextArea3.setForeground(new java.awt.Color(255, 255, 255)); jTextArea3.setRows(5); jTextArea3.setText("CURRENCY"); jTextArea3.setDisabledTextColor(new java.awt.Color(255, 255, 255)); jTextArea3.setEnabled(false); jTextArea3.setOpaque(false); javax.swing.GroupLayout jPanel15Layout = new javax.swing.GroupLayout(jPanel15); jPanel15.setLayout(jPanel15Layout); jPanel15Layout.setHorizontalGroup(jPanel15Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel15Layout.createSequentialGroup() .addContainerGap(237, Short.MAX_VALUE).addComponent(jTextArea3, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(183, 183, 183))); jPanel15Layout .setVerticalGroup(jPanel15Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel15Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea3, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11))); jPanel16.setBackground(new java.awt.Color(1, 87, 155, 220)); jPanel16.setDoubleBuffered(false); jPanel16.setEnabled(false); jPanel16.setFocusable(false); jPanel16.setOpaque(false); jTextArea6.setEditable(false); jTextArea6.setColumns(20); jTextArea6.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N jTextArea6.setForeground(new java.awt.Color(255, 255, 255)); jTextArea6.setRows(5); jTextArea6.setText("USD / INR"); jTextArea6.setDisabledTextColor(new java.awt.Color(255, 255, 255)); jTextArea6.setEnabled(false); jTextArea6.setOpaque(false); javax.swing.GroupLayout jPanel16Layout = new javax.swing.GroupLayout(jPanel16); jPanel16.setLayout(jPanel16Layout); jPanel16Layout .setHorizontalGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel16Layout.createSequentialGroup().addGap(244, 244, 244) .addComponent(jTextArea6, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(192, Short.MAX_VALUE))); jPanel16Layout .setVerticalGroup(jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel16Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea6, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11))); jPanel17.setBackground(new java.awt.Color(1, 87, 155, 220)); jPanel17.setDoubleBuffered(false); jPanel17.setEnabled(false); jPanel17.setFocusable(false); jPanel17.setOpaque(false); jTextArea7.setEditable(false); jTextArea7.setColumns(20); jTextArea7.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N jTextArea7.setForeground(new java.awt.Color(255, 255, 255)); jTextArea7.setRows(5); jTextArea7.setText("GBP / INR"); jTextArea7.setDisabledTextColor(new java.awt.Color(255, 255, 255)); jTextArea7.setEnabled(false); jTextArea7.setOpaque(false); javax.swing.GroupLayout jPanel17Layout = new javax.swing.GroupLayout(jPanel17); jPanel17.setLayout(jPanel17Layout); jPanel17Layout .setHorizontalGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel17Layout.createSequentialGroup().addGap(244, 244, 244) .addComponent(jTextArea7, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(192, Short.MAX_VALUE))); jPanel17Layout .setVerticalGroup(jPanel17Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel17Layout.createSequentialGroup().addGap(11, 11, 11) .addComponent(jTextArea7, javax.swing.GroupLayout.DEFAULT_SIZE, 31, Short.MAX_VALUE) .addGap(11, 11, 11))); jPanel18.setBackground(new java.awt.Color(1, 87, 155, 220)); jPanel18.setDoubleBuffered(false); jPanel18.setEnabled(false); jPanel18.setFocusable(false); jPanel18.setOpaque(false); jTextArea8.setEditable(false); jTextArea8.setColumns(20); jTextArea8.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N jTextArea8.setForeground(new java.awt.Color(255, 255, 255)); jTextArea8.setRows(5); jTextArea8.setText("EUR / INR"); jTextArea8.setDisabledTextColor(new java.awt.Color(255, 255, 255)); jTextArea8.setEnabled(false); jTextArea8.setOpaque(false); javax.swing.GroupLayout jPanel18Layout = new javax.swing.GroupLayout(jPanel18); jPanel18.setLayout(jPanel18Layout); jPanel18Layout .setHorizontalGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel18Layout.createSequentialGroup().addGap(244, 244, 244) .addComponent(jTextArea8, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(192, Short.MAX_VALUE))); jPanel18Layout .setVerticalGroup(jPanel18Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel18Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea8, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11))); jPanel19.setBackground(new java.awt.Color(1, 87, 155, 220)); jPanel19.setForeground(new java.awt.Color(255, 255, 255)); jPanel19.setDoubleBuffered(false); jPanel19.setEnabled(false); jPanel19.setFocusable(false); jPanel19.setOpaque(false); jTextArea9.setEditable(false); jTextArea9.setColumns(20); jTextArea9.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N jTextArea9.setForeground(new java.awt.Color(255, 255, 255)); jTextArea9.setRows(5); jTextArea9.setText("YEN / INR"); jTextArea9.setDisabledTextColor(new java.awt.Color(255, 255, 255)); jTextArea9.setEnabled(false); jTextArea9.setOpaque(false); javax.swing.GroupLayout jPanel19Layout = new javax.swing.GroupLayout(jPanel19); jPanel19.setLayout(jPanel19Layout); jPanel19Layout .setHorizontalGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel19Layout.createSequentialGroup().addGap(244, 244, 244) .addComponent(jTextArea9, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(192, Short.MAX_VALUE))); jPanel19Layout .setVerticalGroup(jPanel19Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel19Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea9, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11))); jPanel20.setBackground(new java.awt.Color(38, 50, 56, 220)); jPanel20.setForeground(new java.awt.Color(51, 51, 51)); jPanel20.setDoubleBuffered(false); jPanel20.setEnabled(false); jPanel20.setFocusable(false); jPanel20.setOpaque(false); jTextArea10.setEditable(false); jTextArea10.setBackground(new java.awt.Color(38, 50, 56, 0)); jTextArea10.setColumns(20); jTextArea10.setFont(new java.awt.Font("Segoe UI", 0, 20)); // NOI18N jTextArea10.setForeground(new java.awt.Color(255, 255, 255)); jTextArea10.setRows(5); jTextArea10.setText("TODAY"); jTextArea10.setDisabledTextColor(new java.awt.Color(255, 255, 255)); jTextArea10.setEnabled(false); jTextArea10.setOpaque(false); javax.swing.GroupLayout jPanel20Layout = new javax.swing.GroupLayout(jPanel20); jPanel20.setLayout(jPanel20Layout); jPanel20Layout .setHorizontalGroup(jPanel20Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel20Layout.createSequentialGroup().addGap(101, 101, 101) .addComponent(jTextArea10, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(85, Short.MAX_VALUE))); jPanel20Layout.setVerticalGroup(jPanel20Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel20Layout .createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea10, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11))); jPanel21.setBackground(new java.awt.Color(255, 255, 255, 220)); jPanel21.setDoubleBuffered(false); jPanel21.setEnabled(false); jPanel21.setFocusable(false); jPanel21.setOpaque(false); todayText1.setEditable(false); todayText1.setBackground(new java.awt.Color(255, 255, 255, 0)); todayText1.setColumns(20); todayText1.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N todayText1.setRows(5); todayText1.setText(" --"); todayText1.setDisabledTextColor(new java.awt.Color(0, 0, 0)); todayText1.setEnabled(false); todayText1.setOpaque(false); javax.swing.GroupLayout jPanel21Layout = new javax.swing.GroupLayout(jPanel21); jPanel21.setLayout(jPanel21Layout); jPanel21Layout .setHorizontalGroup(jPanel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel21Layout.createSequentialGroup().addGap(102, 102, 102) .addComponent(todayText1, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(91, Short.MAX_VALUE))); jPanel21Layout .setVerticalGroup(jPanel21Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel21Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(todayText1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11))); jPanel22.setBackground(new java.awt.Color(255, 255, 255, 220)); jPanel22.setDoubleBuffered(false); jPanel22.setEnabled(false); jPanel22.setFocusable(false); jPanel22.setOpaque(false); todayText2.setEditable(false); todayText2.setBackground(new java.awt.Color(255, 255, 255, 0)); todayText2.setColumns(20); todayText2.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N todayText2.setRows(5); todayText2.setText(" --"); todayText2.setDisabledTextColor(new java.awt.Color(0, 0, 0)); todayText2.setEnabled(false); todayText2.setOpaque(false); javax.swing.GroupLayout jPanel22Layout = new javax.swing.GroupLayout(jPanel22); jPanel22.setLayout(jPanel22Layout); jPanel22Layout .setHorizontalGroup(jPanel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel22Layout.createSequentialGroup().addGap(102, 102, 102) .addComponent(todayText2, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(91, Short.MAX_VALUE))); jPanel22Layout .setVerticalGroup(jPanel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel22Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(todayText2, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11))); jPanel23.setBackground(new java.awt.Color(255, 255, 255, 220)); jPanel23.setDoubleBuffered(false); jPanel23.setEnabled(false); jPanel23.setFocusable(false); jPanel23.setOpaque(false); todayText3.setEditable(false); todayText3.setBackground(new java.awt.Color(255, 255, 255, 0)); todayText3.setColumns(20); todayText3.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N todayText3.setRows(5); todayText3.setText(" --"); todayText3.setDisabledTextColor(new java.awt.Color(0, 0, 0)); todayText3.setEnabled(false); todayText3.setOpaque(false); javax.swing.GroupLayout jPanel23Layout = new javax.swing.GroupLayout(jPanel23); jPanel23.setLayout(jPanel23Layout); jPanel23Layout .setHorizontalGroup(jPanel23Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel23Layout.createSequentialGroup().addGap(102, 102, 102) .addComponent(todayText3, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(91, Short.MAX_VALUE))); jPanel23Layout .setVerticalGroup(jPanel23Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel23Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(todayText3, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11))); jPanel24.setBackground(new java.awt.Color(255, 255, 255, 220)); jPanel24.setDoubleBuffered(false); jPanel24.setEnabled(false); jPanel24.setFocusable(false); jPanel24.setOpaque(false); todayText4.setEditable(false); todayText4.setBackground(new java.awt.Color(255, 255, 255, 0)); todayText4.setColumns(20); todayText4.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N todayText4.setRows(5); todayText4.setText(" --"); todayText4.setDisabledTextColor(new java.awt.Color(0, 0, 0)); todayText4.setEnabled(false); todayText4.setOpaque(false); javax.swing.GroupLayout jPanel24Layout = new javax.swing.GroupLayout(jPanel24); jPanel24.setLayout(jPanel24Layout); jPanel24Layout .setHorizontalGroup(jPanel24Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel24Layout.createSequentialGroup().addGap(102, 102, 102) .addComponent(todayText4, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(91, Short.MAX_VALUE))); jPanel24Layout .setVerticalGroup(jPanel24Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel24Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(todayText4, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11))); jPanel25.setBackground(new java.awt.Color(38, 50, 56, 220)); jPanel25.setForeground(new java.awt.Color(51, 51, 51)); jPanel25.setDoubleBuffered(false); jPanel25.setEnabled(false); jPanel25.setFocusable(false); jPanel25.setOpaque(false); jTextArea15.setEditable(false); jTextArea15.setBackground(new java.awt.Color(38, 50, 56, 0)); jTextArea15.setColumns(20); jTextArea15.setFont(new java.awt.Font("Segoe UI", 0, 20)); // NOI18N jTextArea15.setForeground(new java.awt.Color(255, 255, 255)); jTextArea15.setRows(5); jTextArea15.setText("TOMORROW"); jTextArea15.setDisabledTextColor(new java.awt.Color(255, 255, 255)); jTextArea15.setEnabled(false); jTextArea15.setOpaque(false); jTextArea15.setRequestFocusEnabled(false); jTextArea15.setVerifyInputWhenFocusTarget(false); javax.swing.GroupLayout jPanel25Layout = new javax.swing.GroupLayout(jPanel25); jPanel25.setLayout(jPanel25Layout); jPanel25Layout .setHorizontalGroup(jPanel25Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel25Layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jTextArea15, javax.swing.GroupLayout.PREFERRED_SIZE, 132, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); jPanel25Layout.setVerticalGroup(jPanel25Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel25Layout .createSequentialGroup().addGap(11, 11, 11).addComponent(jTextArea15, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11))); jPanel26.setBackground(new java.awt.Color(255, 255, 255, 220)); jPanel26.setDoubleBuffered(false); jPanel26.setEnabled(false); jPanel26.setFocusable(false); jPanel26.setOpaque(false); tmrwText1.setEditable(false); tmrwText1.setBackground(new java.awt.Color(255, 255, 255, 0)); tmrwText1.setColumns(20); tmrwText1.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N tmrwText1.setRows(5); tmrwText1.setText(" --"); tmrwText1.setDisabledTextColor(new java.awt.Color(0, 0, 0)); tmrwText1.setEnabled(false); tmrwText1.setOpaque(false); javax.swing.GroupLayout jPanel26Layout = new javax.swing.GroupLayout(jPanel26); jPanel26.setLayout(jPanel26Layout); jPanel26Layout .setHorizontalGroup(jPanel26Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel26Layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(tmrwText1, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); jPanel26Layout .setVerticalGroup(jPanel26Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel26Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(tmrwText1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11))); jPanel27.setBackground(new java.awt.Color(255, 255, 255, 220)); jPanel27.setDoubleBuffered(false); jPanel27.setEnabled(false); jPanel27.setFocusable(false); jPanel27.setOpaque(false); tmrwText2.setEditable(false); tmrwText2.setBackground(new java.awt.Color(255, 255, 255, 0)); tmrwText2.setColumns(20); tmrwText2.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N tmrwText2.setRows(5); tmrwText2.setText(" --"); tmrwText2.setDisabledTextColor(new java.awt.Color(0, 0, 0)); tmrwText2.setEnabled(false); tmrwText2.setOpaque(false); javax.swing.GroupLayout jPanel27Layout = new javax.swing.GroupLayout(jPanel27); jPanel27.setLayout(jPanel27Layout); jPanel27Layout .setHorizontalGroup(jPanel27Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel27Layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(tmrwText2, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(85, 85, 85))); jPanel27Layout.setVerticalGroup( jPanel27Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup( javax.swing.GroupLayout.Alignment.TRAILING, jPanel27Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(tmrwText2, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11))); jPanel28.setBackground(new java.awt.Color(255, 255, 255, 220)); jPanel28.setDoubleBuffered(false); jPanel28.setEnabled(false); jPanel28.setFocusable(false); jPanel28.setOpaque(false); tmrwText3.setEditable(false); tmrwText3.setBackground(new java.awt.Color(255, 255, 255, 0)); tmrwText3.setColumns(20); tmrwText3.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N tmrwText3.setRows(5); tmrwText3.setText(" --"); tmrwText3.setDisabledTextColor(new java.awt.Color(0, 0, 0)); tmrwText3.setEnabled(false); tmrwText3.setOpaque(false); javax.swing.GroupLayout jPanel28Layout = new javax.swing.GroupLayout(jPanel28); jPanel28.setLayout(jPanel28Layout); jPanel28Layout .setHorizontalGroup(jPanel28Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel28Layout.createSequentialGroup().addGap(83, 83, 83) .addComponent(tmrwText3, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); jPanel28Layout .setVerticalGroup(jPanel28Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel28Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(tmrwText3, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11))); jPanel29.setBackground(new java.awt.Color(255, 255, 255, 220)); jPanel29.setDoubleBuffered(false); jPanel29.setEnabled(false); jPanel29.setFocusable(false); jPanel29.setOpaque(false); tmrwText4.setEditable(false); tmrwText4.setBackground(new java.awt.Color(255, 255, 255, 0)); tmrwText4.setColumns(20); tmrwText4.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N tmrwText4.setRows(5); tmrwText4.setText(" --"); tmrwText4.setDisabledTextColor(new java.awt.Color(0, 0, 0)); tmrwText4.setEnabled(false); tmrwText4.setOpaque(false); javax.swing.GroupLayout jPanel29Layout = new javax.swing.GroupLayout(jPanel29); jPanel29.setLayout(jPanel29Layout); jPanel29Layout .setHorizontalGroup(jPanel29Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel29Layout.createSequentialGroup().addGap(83, 83, 83) .addComponent(tmrwText4, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); jPanel29Layout .setVerticalGroup(jPanel29Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel29Layout.createSequentialGroup().addGap(11, 11, 11).addComponent(tmrwText4, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(11, 11, 11))); statusLabel.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N statusLabel.setForeground(new java.awt.Color(0, 51, 0)); statusLabel.setText("Fetching Todays Data From Internet ..."); javax.swing.GroupLayout jPanel14Layout = new javax.swing.GroupLayout(jPanel14); jPanel14.setLayout(jPanel14Layout); jPanel14Layout.setHorizontalGroup(jPanel14Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel14Layout.createSequentialGroup().addGap(144, 144, 144).addGroup(jPanel14Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel14Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jTextArea1) .addGroup(jPanel14Layout.createSequentialGroup() .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, 534, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(10, 10, 10).addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, 539, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(jPanel14Layout.createSequentialGroup().addGroup(jPanel14Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel19, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jPanel15, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jPanel16, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jPanel17, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jPanel18, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(10, 10, 10) .addGroup(jPanel14Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(jPanel21, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jPanel22, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jPanel20, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jPanel23, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jPanel24, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(10, 10, 10) .addGroup(jPanel14Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jPanel28, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel26, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel27, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel29, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel25, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) .addComponent(statusLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 600, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(144, Short.MAX_VALUE))); jPanel14Layout.setVerticalGroup(jPanel14Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel14Layout.createSequentialGroup().addContainerGap(90, Short.MAX_VALUE) .addComponent(jTextArea1, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(20, 20, 20) .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel14Layout.createSequentialGroup().addGroup(jPanel14Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel14Layout.createSequentialGroup() .addComponent(jPanel20, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(6, 6, 6) .addComponent(jPanel21, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel22, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel23, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel14Layout .createSequentialGroup() .addComponent(jPanel15, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel16, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel17, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel18, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel24, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(jPanel14Layout.createSequentialGroup() .addComponent(jPanel25, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel26, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel27, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel28, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel29, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jPanel19, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(20, 20, 20) .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(statusLabel).addGap(24, 24, 24))); javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout); jPanel3Layout.setHorizontalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel14, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)); jPanel3Layout.setVerticalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jPanel14, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)); jTabbedPane1.addTab(" Home ", jPanel3); jPanel10.setBackground(new java.awt.Color(38, 50, 56, 220)); jPanel10.setDoubleBuffered(false); jPanel10.setEnabled(false); jPanel10.setFocusable(false); jPanel10.setOpaque(false); jLabel8.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N jLabel8.setForeground(new java.awt.Color(255, 255, 255)); jLabel8.setText("Select Currency:"); CurrencyComboBox.setBackground(new java.awt.Color(56, 56, 56, 0)); CurrencyComboBox.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N CurrencyComboBox.setModel(new javax.swing.DefaultComboBoxModel<>( new String[] { "US Dollar", "British Pound", "Euro", "Yen" })); CurrencyComboBox.setAlignmentX(2.0F); CurrencyComboBox.setOpaque(false); jLabel7.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N jLabel7.setForeground(new java.awt.Color(255, 255, 255)); jLabel7.setText("Testing Data:"); testingDataPath.setBackground(new java.awt.Color(255, 255, 255, 200)); testingDataPath.setMargin(new java.awt.Insets(2, 4, 2, 2)); testingDataPath.setOpaque(false); testingDataPath.addFocusListener(new java.awt.event.FocusAdapter() { public void focusGained(java.awt.event.FocusEvent evt) { testingDataPathFocusGained(evt); } }); testingDataPath.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { testingDataPathMouseClicked(evt); } }); testingDataPath.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { testingDataPathActionPerformed(evt); } }); testingBrowseBtn.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N testingBrowseBtn.setText("Browse"); testingBrowseBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { testingBrowseBtnActionPerformed(evt); } }); forecastBtn.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N forecastBtn.setText("Forecast"); forecastBtn.setOpaque(false); forecastBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { forecastBtnActionPerformed(evt); } }); javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10); jPanel10.setLayout(jPanel10Layout); jPanel10Layout.setHorizontalGroup(jPanel10Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel10Layout.createSequentialGroup().addGap(18, 18, 18) .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(CurrencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(31, 31, 31).addComponent(jLabel7) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(testingDataPath, javax.swing.GroupLayout.PREFERRED_SIZE, 280, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(testingBrowseBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(forecastBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(20, 20, 20))); jPanel10Layout.setVerticalGroup(jPanel10Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel10Layout.createSequentialGroup().addGap(22, 22, 22) .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel8) .addComponent(CurrencyComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel7) .addComponent(testingDataPath, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(testingBrowseBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(forecastBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(22, Short.MAX_VALUE))); jScrollPane1.setEnabled(false); jScrollPane1.setFocusable(false); jScrollPane1.setPreferredSize(new java.awt.Dimension(805, 100)); //forecastTable.getTableHeader().setOpaque(false); //forecastTable.getTableHeader().setBackground(new java.awt.Color(0,150,136,220)); forecastTable.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N forecastTable.setModel(new javax.swing.table.DefaultTableModel( new Object[][] { { "", "", "", "" }, { null, null, null, null }, { null, null, null, null }, { null, null, null, null } }, new String[] { " Date", " Input", " Expected Output", " Actual Output" }) { Class[] types = new Class[] { java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class }; boolean[] canEdit = new boolean[] { false, true, false, false }; public Class getColumnClass(int columnIndex) { return types[columnIndex]; } public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit[columnIndex]; } }); forecastTable.setAlignmentX(20.0F); forecastTable.setAlignmentY(20.0F); forecastTable.setGridColor(new java.awt.Color(153, 153, 153)); forecastTable.setIntercellSpacing(new java.awt.Dimension(20, 10)); forecastTable.setRowHeight(30); forecastTable.getTableHeader().setResizingAllowed(false); forecastTable.getTableHeader().setReorderingAllowed(false); forecastTable.addFocusListener(new java.awt.event.FocusAdapter() { public void focusLost(java.awt.event.FocusEvent evt) { forecastTableFocusLost(evt); } }); jScrollPane1.setViewportView(forecastTable); if (forecastTable.getColumnModel().getColumnCount() > 0) { forecastTable.getColumnModel().getColumn(0).setMinWidth(150); forecastTable.getColumnModel().getColumn(0).setPreferredWidth(150); forecastTable.getColumnModel().getColumn(0).setMaxWidth(150); forecastTable.getColumnModel().getColumn(1).setMinWidth(550); forecastTable.getColumnModel().getColumn(1).setPreferredWidth(550); forecastTable.getColumnModel().getColumn(1).setMaxWidth(550); forecastTable.getColumnModel().getColumn(1).setCellEditor(dce); } jPanel12.setBackground(new java.awt.Color(38, 50, 56, 220)); jPanel12.setOpaque(false); jPanel13.setBackground(new java.awt.Color(56, 56, 56, 180)); jPanel13.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Select Algorithm", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Segoe UI", 0, 12), new java.awt.Color(255, 255, 255))); // NOI18N jPanel13.setOpaque(false); jRadioButton2.setBackground(new java.awt.Color(56, 56, 56, 180)); buttonGroup1.add(jRadioButton2); jRadioButton2.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N jRadioButton2.setForeground(new java.awt.Color(255, 255, 255)); jRadioButton2.setText("Recurrent Neural Network"); jRadioButton2.setContentAreaFilled(false); jRadioButton2.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(java.awt.event.ItemEvent evt) { jRadioButton2ItemStateChanged(evt); } }); jRadioButton1.setBackground(new java.awt.Color(56, 56, 56, 180)); buttonGroup1.add(jRadioButton1); jRadioButton1.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N jRadioButton1.setForeground(new java.awt.Color(255, 255, 255)); jRadioButton1.setSelected(true); jRadioButton1.setText("Feed Forward Neural Network"); jRadioButton1.setContentAreaFilled(false); jRadioButton1.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(java.awt.event.ItemEvent evt) { jRadioButton1ItemStateChanged(evt); } }); javax.swing.GroupLayout jPanel13Layout = new javax.swing.GroupLayout(jPanel13); jPanel13.setLayout(jPanel13Layout); jPanel13Layout .setHorizontalGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel13Layout.createSequentialGroup().addGap(95, 95, 95) .addComponent(jRadioButton1).addGap(102, 102, 102) .addComponent(jRadioButton2).addContainerGap(116, Short.MAX_VALUE))); jPanel13Layout.setVerticalGroup(jPanel13Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel13Layout.createSequentialGroup() .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jRadioButton1).addComponent(jRadioButton2)) .addGap(0, 0, Short.MAX_VALUE))); javax.swing.GroupLayout jPanel12Layout = new javax.swing.GroupLayout(jPanel12); jPanel12.setLayout(jPanel12Layout); jPanel12Layout.setHorizontalGroup(jPanel12Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel12Layout.createSequentialGroup().addContainerGap() .addComponent(jPanel13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); jPanel12Layout.setVerticalGroup(jPanel12Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel12Layout.createSequentialGroup().addContainerGap() .addComponent(jPanel13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); jPanel2.setBackground(new java.awt.Color(38, 50, 56, 220)); jPanel2.setOpaque(false); doneButton1.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N doneButton1.setText("Train NN"); doneButton1.setOpaque(false); doneButton1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { doneButton1MouseClicked(evt); } }); doneButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { doneButton1ActionPerformed(evt); } }); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup( javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup().addGap(28, 28, 28).addComponent(doneButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(21, 21, 21))); jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup().addGap(22, 22, 22).addComponent(doneButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(23, 23, 23))); jPanel30.setBackground(new java.awt.Color(38, 50, 56, 220)); jPanel30.setDoubleBuffered(false); jPanel30.setEnabled(false); jPanel30.setFocusable(false); jPanel30.setOpaque(false); graphBtn.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N graphBtn.setText("Plot Graph"); graphBtn.setOpaque(false); graphBtn.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { graphBtnActionPerformed(evt); } }); jButton1.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N jButton1.setText("Reset"); jButton1.setOpaque(false); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); javax.swing.GroupLayout jPanel30Layout = new javax.swing.GroupLayout(jPanel30); jPanel30.setLayout(jPanel30Layout); jPanel30Layout.setHorizontalGroup(jPanel30Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel30Layout.createSequentialGroup().addContainerGap() .addGroup(jPanel30Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(graphBtn, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap())); jPanel30Layout .setVerticalGroup(jPanel30Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel30Layout.createSequentialGroup().addGap(22, 22, 22) .addComponent(graphBtn, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(59, 59, 59).addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(22, 22, 22))); javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8); jPanel8.setLayout(jPanel8Layout); jPanel8Layout.setHorizontalGroup(jPanel8Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel8Layout.createSequentialGroup().addGap(148, 148, 148).addGroup(jPanel8Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 1089, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(jPanel8Layout.createSequentialGroup() .addGroup(jPanel8Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(jPanel8Layout.createSequentialGroup() .addComponent(jPanel12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(10, 10, 10) .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jPanel10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jPanel30, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) .addContainerGap(134, Short.MAX_VALUE))); jPanel8Layout.setVerticalGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel8Layout.createSequentialGroup().addGap(84, 84, 84).addGroup(jPanel8Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(jPanel8Layout.createSequentialGroup().addGroup(jPanel8Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jPanel12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(11, 11, 11).addComponent(jPanel10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jPanel30, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 376, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(36, 36, 36))); jTabbedPane1.addTab(" Forecast ", jPanel8); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup(jPanel1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 1376, javax.swing.GroupLayout.PREFERRED_SIZE)); jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 614, Short.MAX_VALUE)); jTabbedPane1.getAccessibleContext().setAccessibleName("Home"); jScrollPane2.setViewportView(jPanel1); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 1371, Short.MAX_VALUE)); layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent( jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 586, Short.MAX_VALUE)); pack(); }
From source file:com.jcraft.weirdx.Draw.java
@SuppressWarnings("unused") static void reqPolyFillRectangle(Client c, XDrawable d, GC gc) throws IOException { int n = c.length; //int foo;/*from w w w. j av a2s . c o m*/ Graphics graphics = d.getGraphics(gc, GC.GCFunction | GC.GCSubwindowMode); if (graphics == null) { c.client.readPad(n * 4); return; } if (gc.clip_mask != null && gc.clip_mask instanceof ClipPixmap && (d instanceof XPixmap) && ((XPixmap) d).data != null) { XPixmap p = (XPixmap) d; byte[] data = p.data; XPixmap cpixmap = (XPixmap) (gc.clip_mask.getMask()); short x, y; int ww, hh; byte f = (byte) gc.fgPixel; while (n != 0) { x = (short) c.client.readShort(); y = (short) c.client.readShort(); ww = c.client.readShort(); hh = c.client.readShort(); n -= 2; if (x < 0) { ww += x; x = 0; } if (y < 0) { hh += y; y = 0; } if (d.width <= x || d.height <= y) continue; if (ww <= 0 || hh <= 0) continue; // if((x+ww)<=0 || (y+hh)<=0) continue; if (ww > cpixmap.width) ww = cpixmap.width; if (hh > cpixmap.height) hh = cpixmap.height; if (ww > d.width) ww = d.width; if (hh > d.height) hh = d.height; for (int i = 0; i < hh; i++) { for (int j = 0; j < ww; j++) { if (p.data[(i + y) * p.width + x + j] == 0) { p.data[(i + y) * p.width + x + j] = f; } } } } return; } /* if(gc.clip_mask!=null && (d instanceof Pixmap) && gc.clip_mask.width==d.width && gc.clip_mask.height==d.height && ((Pixmap)d).data!=null){ Pixmap p=(Pixmap)d; // for(int i=0;i<p.height;i++){ // for(int j=0;j<p.width;j++){ // System.out.print(p.data[i*p.width+j]+" "); // } // System.out.println(""); // } byte f=(byte)gc.fgPixel; for(int i=0;i<gc.clip_mask.height;i++){ for(int j=0;j<gc.clip_mask.width;j++){ if(p.data[i*gc.clip_mask.width+j]==0){ p.data[i*gc.clip_mask.width+j]=f; } } } // for(int i=0;i<((Pixmap)d).height;i++){ // for(int j=0;j<((Pixmap)d).width;j++){ // System.out.print(((Pixmap)d).data[i*((Pixmap)d).width+j]+" "); // } // System.out.println(""); // } while(n!=0){ c.client.readPad(8); n-=2; } return; } */ if (gc.clip_mask != null && gc.clip_mask instanceof ClipRectangles) { java.awt.Rectangle rec = (Rectangle) (gc.clip_mask.getMask()); if (rec == null) { while (n > 0) { c.client.readPad(8); n -= 2; } return; } } XPixmap p = null; if (((gc.attr & GC.fillStyle) == GC.FillOpaqueStippled) || ((gc.attr & GC.fillStyle) == GC.FillStippled)) { p = gc.stipple; } if (((gc.attr & GC.fillStyle) == GC.FillTiled)) { p = gc.tile.pixmap; } short x, y; int ww, hh; int sx = d.width; int sy = d.height; int lx = 0; int ly = 0; while (n != 0) { x = (short) c.client.readShort(); y = (short) c.client.readShort(); ww = c.client.readShort(); hh = c.client.readShort(); n -= 2; if (x < 0) { ww += x; x = 0; } if (y < 0) { hh += y; y = 0; } if (d.width <= x || d.height <= y) continue; if (ww <= 0 || hh <= 0) continue; if (x < sx) sx = x; ; if (lx < x + ww) lx = x + ww; if (y < sy) sy = y; if (ly < y + hh) ly = y + hh; if (((gc.attr & GC.fillStyle) == GC.FillOpaqueStippled) || ((gc.attr & GC.fillStyle) == GC.FillStippled) || ((gc.attr & GC.fillStyle) == GC.FillTiled)) { java.awt.Shape tmp = null; ww += x; hh += y; if ((p.width > ww - x) || (p.height > hh - y)) { tmp = graphics.getClip(); graphics.clipRect(x, y, ww - x, hh - y); } graphics.drawImage(p.img, x, y, Screen.screen[0].root.ddxwindow); if (tmp != null) graphics.setClip(tmp); for (int i = x + p.width; i < ww; i += p.width) { int www = p.width; int hhh = p.height; if (i + www > ww) www = ww - i; if (y + hhh >= hh) hhh = hh - y; graphics.copyArea(x, y, www, hhh, i - x, 0); } for (int j = y + p.height; j < hh; j += p.height) { int hhh = p.height; if (j + hhh >= hh) hhh = hh - j; graphics.copyArea(x, y, ww - x, hhh, 0, j - y); } } else { graphics.fillRect(x, y, ww, hh); } } if (sx < 0) sx = 0; if (sy < 0) sy = 0; if (d instanceof XWindow) { ((XWindow) d).draw(sx, sy, lx - sx + 2, ly - sy + 2); } if (gc.function == GC.GXxor || gc.function == GC.GXinvert) { graphics.setPaintMode(); } if (gc.clip_mask != null && gc.clip_mask instanceof ClipRectangles) { d.restoreClip(); } }
From source file:base.BasePlayer.Main.java
void setButtons() { try {//from w w w .j a v a 2 s . c o m // filemenu.setFont(font); GridBagConstraints c = new GridBagConstraints(); c.anchor = GridBagConstraints.NORTHWEST; c.insets = new Insets(1, 4, 4, 2); //c.insets = new Insets(5, 5, 2, 5); c.gridx = 0; c.gridy = 0; c.gridwidth = 1; /* opensamples.setMargin(new Insets(0, 0, 0,0)); opensamples.setPreferredSize(buttonDimension); addtracks.setMargin(new Insets(0, 0, 0, 0)); addtracks.setPreferredSize(buttonDimension); addcontrols.setMargin(new Insets(0, 0, 0, 0)); addcontrols.setPreferredSize(buttonDimension); */ menubar.setOpaque(true); panel.add(menubar, c); c.gridx = 1; setbut = new JButton("", settingsIcon); setbut.setToolTipText("Settings"); setbut.setOpaque(false); setbut.setContentAreaFilled(false); setbut.setBackground(Main.panel.getBackground()); setbut.addMouseListener(new MouseListener() { @Override public void mouseClicked(MouseEvent e) { } @Override public void mousePressed(MouseEvent e) { Settings.frame.setLocation( frame.getLocationOnScreen().x + frame.getWidth() / 2 - Settings.frame.getWidth() / 2, frame.getLocationOnScreen().y + frame.getHeight() / 6); Settings.frame.setState(JFrame.NORMAL); Settings.frame.setVisible(true); } @Override public void mouseReleased(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { setbut.setOpaque(true); Main.setbut.setBackground(Color.white); Main.setbut.revalidate(); } @Override public void mouseExited(MouseEvent e) { setbut.setOpaque(false); Main.setbut.revalidate(); } }); setbut.setBorder(null); c.insets = new Insets(0, 2, 0, 0); menubar.add(setbut, c); // c.gridx = 1; // c.gridx = 2; // c.gridx = 3; // zoomout.setMargin(new Insets(0, 0, 0, 0)); // panel.add(zoomout, c); /* JMenuItem empty2 = new JMenuItem(""); empty2.setEnabled(false); menubar.add(empty2); c.gridx = 4;*/ // chromosomeDropdown.setPreferredSize(buttonDimension); // panel.add(chromosomeDropdown, c); // c.gridx = 5; // back.setMargin(new Insets(0, 0, 0, 0)); // forward.setMargin(new Insets(0, 0, 0, 0)); // back.setPreferredSize(new Dimension(back.getFontMetrics(back.getFont()).stringWidth("<")+10,(int)fieldDimension.getHeight())); // forward.setPreferredSize(new Dimension(forward.getFontMetrics(forward.getFont()).stringWidth("<")+10,(int)fieldDimension.getHeight())); //back.setMinimumSize(new Dimension(back.getFontMetrics(back.getFont()).stringWidth("<")+10,(int)fieldDimension.getHeight())); // forward.setMinimumSize(new Dimension(forward.getFontMetrics(forward.getFont()).stringWidth("<")+10,(int)fieldDimension.getHeight())); // panel.add(back, c); // c.gridx = 7; // panel.add(forward, c); chromosomeDropdown.setMaximumRowCount(25); chromosomeDropdown.setEnabled(true); chromosomeDropdown.addActionListener(ChromoDropActionListener); chromosomeDropdown.addMouseListener(this); c.gridwidth = 10; c.gridx = 0; c.gridy = 1; bedScroll = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); bedScroll.getViewport().setPreferredSize(bedDimensions); drawScroll = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); drawScroll.getViewport().setPreferredSize(drawDimensions); chromScroll = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); chromScroll.getViewport().setPreferredSize(chromDimensions); drawScroll.getVerticalScrollBar().setAutoscrolls(false); // chromScroll.getViewport().setPreferredSize(new Dimension(drawWidth,chromHeight-20)); // drawScroll.setBorder(BorderFactory.createEmptyBorder()); //chromScroll.setBorder(BorderFactory.createLoweredBevelBorder()); // drawScroll.setBorder(BorderFactory.createLoweredBevelBorder()); // bedScroll.setBorder(BorderFactory.createLoweredBevelBorder()); // chromScroll.setBorder(BorderFactory.createEmptyBorder()); // bedScroll.setBorder(BorderFactory.createEmptyBorder()); controlScroll = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); controlScroll.getViewport().setPreferredSize(bedDimensions); controlScroll.getViewport().add(controlDraw); controlDraw.setVisible(false); controlScroll.setVisible(false); chromScroll.setBorder(BorderFactory.createEmptyBorder()); drawScroll.setBorder(BorderFactory.createEmptyBorder()); bedScroll.setBorder(BorderFactory.createLoweredBevelBorder()); controlScroll.setBorder(BorderFactory.createLoweredBevelBorder()); addSplit(chromosomeDropdown.getItemAt(0)); chromScroll.getViewport().add(chromDraw); drawScroll.getViewport().add(drawCanvas); drawScroll.addMouseListener(this); bedCanvas = new BedCanvas(drawWidth, 200); bedScroll.getViewport().add(bedCanvas); frame.setExtendedState(frame.getExtendedState() | JFrame.MAXIMIZED_BOTH); c.weightx = 1.0; c.weighty = 1.0; c.fill = GridBagConstraints.BOTH; trackPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, bedScroll, controlScroll); trackPane.setUI(new BasicSplitPaneUI() { public BasicSplitPaneDivider createDefaultDivider() { return new BasicSplitPaneDivider(this) { private static final long serialVersionUID = 1L; public void setBorder(Border b) { } @Override public void paint(Graphics g) { g.setColor(Color.lightGray); g.fillRect(0, 0, getSize().width, getSize().height); super.paint(g); } }; } }); trackPane.setBorder(null); trackPane.setDividerSize(0); trackPane.setPreferredSize(drawDimensions); trackPane.setResizeWeight(0.0); trackPane.setContinuousLayout(true); trackPane.setVisible(false); varpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, trackPane, drawScroll); varpane.setUI(new BasicSplitPaneUI() { public BasicSplitPaneDivider createDefaultDivider() { return new BasicSplitPaneDivider(this) { private static final long serialVersionUID = 1L; public void setBorder(Border b) { } @Override public void paint(Graphics g) { g.setColor(Color.lightGray); g.fillRect(0, 0, getSize().width, getSize().height); super.paint(g); } }; } }); varpane.setBorder(null); varpane.setDividerSize(0); varpane.setPreferredSize(drawDimensions); varpane.setResizeWeight(0.0); varpane.setContinuousLayout(true); bedScroll.setVisible(false); controlScroll.setVisible(false); chrompan = new JPanel() { private static final long serialVersionUID = 1L; protected void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Draw.sidecolor); g.fillRect(0, 0, this.getWidth(), this.getHeight()); g.setColor(Color.gray); g.fillRect(0, 0, 3, this.getHeight()); g.setColor(Color.lightGray); g.fillRect(2, 0, 2, this.getHeight()); } }; chrompan.setLayout(new GridBagLayout()); GridBagConstraints gb = new GridBagConstraints(); gb.anchor = GridBagConstraints.NORTHWEST; gb.insets = new Insets(2, 10, 2, 2); gb.gridx = 0; gb.gridy = 0; gb.gridwidth = 1; gb.fill = GridBagConstraints.HORIZONTAL; refDropdown.setBackground(Color.white); refDropdown.setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, Color.lightGray)); refDropdown.setBorder(BorderFactory.createCompoundBorder(refDropdown.getBorder(), BorderFactory.createEmptyBorder(0, 0, 0, 0))); geneDropdown.setBackground(Color.white); geneDropdown.setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, Color.lightGray)); geneDropdown.setBorder(BorderFactory.createCompoundBorder(geneDropdown.getBorder(), BorderFactory.createEmptyBorder(0, 0, 0, 0))); geneDropdown.addActionListener(annoDropActionListener); JLabel refLabel = new JLabel("Reference genome:"); JLabel geneLabel = new JLabel("Gene annotation:"); chromLabel.setName("header"); chrompan.add(chromLabel, gb); gb.gridy++; chrompan.add(new JSeparator(), gb); gb.gridy++; gb.insets = new Insets(0, 10, 0, 2); chrompan.add(refLabel, gb); gb.gridy++; chrompan.add(refDropdown, gb); gb.gridy++; chrompan.add(geneLabel, gb); gb.gridy++; chrompan.add(geneDropdown, gb); gb.gridy++; gb.insets = new Insets(20, 10, 0, 2); JLabel memory = new JLabel("Memory usage:"); memory.setName("header"); chrompan.add(memory, gb); gb.insets = new Insets(0, 10, 0, 2); gb.gridy++; chrompan.add(memLabel, gb); gb.weightx = 1; gb.weighty = 1; gb.gridwidth = GridBagConstraints.REMAINDER; chrompan.add(new JLabel(), gb); chrompan.setMinimumSize(new Dimension(1, 1)); chrompan.addComponentListener(this); upPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, chrompan, chromScroll); drawScroll.addComponentListener(this); //upPanel.setBorder(BorderFactory.createLoweredBevelBorder()); upPanel.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, Color.white)); upPanel.setDividerLocation(Main.sidebarWidth - 2); chrompan.setBackground(Draw.sidecolor); BasicSplitPaneUI chromPaneUI = (BasicSplitPaneUI) upPanel.getUI(); chromPaneDivider = chromPaneUI.getDivider(); chromPaneDivider.addMouseListener(this); upPanel.setDividerSize(3); upPanel.setUI(new BasicSplitPaneUI() { public BasicSplitPaneDivider createDefaultDivider() { return new BasicSplitPaneDivider(this) { private static final long serialVersionUID = 1L; public void setBorder(Border b) { } @Override public void paint(Graphics g) { g.setColor(Color.lightGray); g.fillRect(0, 0, getSize().width, getSize().height); super.paint(g); } }; } }); splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, upPanel, varpane); splitPane.setUI(new BasicSplitPaneUI() { public BasicSplitPaneDivider createDefaultDivider() { return new BasicSplitPaneDivider(this) { private static final long serialVersionUID = 1L; public void setBorder(Border b) { } @Override public void paint(Graphics g) { g.setColor(Color.lightGray); g.fillRect(0, 0, getSize().width, getSize().height); super.paint(g); } }; } }); BasicSplitPaneUI basicSplitPaneUI = (BasicSplitPaneUI) splitPane.getUI(); splitPaneDivider = basicSplitPaneUI.getDivider(); // splitPaneDivider.addMouseListener(this); basicSplitPaneUI = (BasicSplitPaneUI) trackPane.getUI(); trackPaneDivider = basicSplitPaneUI.getDivider(); // trackPaneDivider.addMouseListener(this); BasicSplitPaneUI splitPaneUI = (BasicSplitPaneUI) varpane.getUI(); varPaneDivider = splitPaneUI.getDivider(); // varPaneDivider.addMouseListener(this); splitPane.setDividerSize(3); splitPane.setPreferredSize(drawDimensions); splitPane.setContinuousLayout(true); panel.add(splitPane, c); add(panel, c); openvcfs.addActionListener(this); openbams.addActionListener(this); addtracks.addActionListener(this); addcontrols.addActionListener(this); openProject.addActionListener(this); saveProject.addActionListener(this); saveProjectAs.addActionListener(this); dosomething.addActionListener(this); clear.addActionListener(this); // drawScroll.getVerticalScrollBar().addMouseMotionListener(this); drawScroll.getVerticalScrollBar().addMouseListener(this); drawScroll.getVerticalScrollBar().addMouseMotionListener(this); drawScroll.getVerticalScrollBar().addMouseWheelListener(new MouseWheelListener() { @Override public void mouseWheelMoved(MouseWheelEvent e) { Draw.setGlasspane(true); if (e.getWheelRotation() < 0) { if (drawCanvas.drawVariables.visiblestart > 0) { drawCanvas.drawVariables.visiblestart--; } Draw.setScrollbar((int) (drawCanvas.drawVariables.visiblestart * drawCanvas.drawVariables.sampleHeight)); } else { if (drawCanvas.drawVariables.visiblestart + drawCanvas.drawVariables.visiblesamples < Main.samples) { drawCanvas.drawVariables.visiblestart++; } Draw.setScrollbar((int) (drawCanvas.drawVariables.visiblestart * drawCanvas.drawVariables.sampleHeight)); } } } ); drawScroll.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() { @Override public void adjustmentValueChanged(AdjustmentEvent event) { //System.out.println(drawCanvas.drawVariables.visiblestart +" " +(short)(Main.drawScroll.getVerticalScrollBar().getValue()/drawCanvas.drawVariables.sampleHeight)); if (drawCanvas.drawVariables.visiblestart != (short) (Main.drawScroll.getVerticalScrollBar() .getValue() / drawCanvas.drawVariables.sampleHeight)) { if (!drawCanvas.sidebar) { drawCanvas.drawVariables.visiblestart = (short) (Main.drawScroll.getVerticalScrollBar() .getValue() / drawCanvas.drawVariables.sampleHeight); } if (drawCanvas.splits.size() > 1) { for (int i = 0; i < drawCanvas.splits.size(); i++) { drawCanvas.splits.get(i).updateReads = true; } } else { Draw.updateReads = true; Draw.updatevars = true; } Draw.updatevars = true; Main.drawCanvas.repaint(); } } }); zoomout.addActionListener(this); FileRead.head = new VarNode(0, (byte) 0, "N", (short) 0, (short) 0, false, (float) 0, (float) 0, null, null, new Sample("", (short) 1, null), null, null); drawCanvas.current = FileRead.head; frame.addComponentListener(this); frame.addMouseListener(this); frame.setGlassPane(glassPane); glassPane.setOpaque(false); glassPane.setVisible(false); positionField.setText("chr1:1-" + MethodLibrary.formatNumber(drawCanvas.splits.get(0).chromEnd)); positionField.setToolTipText("Current chromosomal region"); widthLabel.setText(MethodLibrary.formatNumber(drawCanvas.splits.get(0).chromEnd) + "bp"); widthLabel.setToolTipText("Current region width in base pairs"); } catch (Exception e) { e.printStackTrace(); } }
From source file:ucar.unidata.idv.ui.ImageGenerator.java
/** * Process the image/*from w ww . j a v a 2 s . co m*/ * * @param image The image * @param filename File to write the image to * @param node Node to process * @param props Extra properties * @param viewManager The viewmanager this image came from * @param imageProps the image properties * * * @return The processed image * @throws Throwable On badness */ protected BufferedImage processImage(BufferedImage image, String filename, Element node, Hashtable props, ViewManager viewManager, Hashtable imageProps) throws Throwable { if (node == null) { return image; } if (props == null) { props = new Hashtable(); } if (viewManager != null) { Animation animation = viewManager.getAnimation(); props.put(PROP_ANIMATIONTIME, ""); if (animation != null) { if (animation.getAniValue() != null) { props.put(PROP_ANIMATIONTIME, animation.getAniValue()); } } } getProperties().putAll(props); NodeList elements = XmlUtil.getElements(node); Hashtable seenColorTable = new Hashtable(); for (int childIdx = 0; childIdx < elements.getLength(); childIdx++) { boolean shouldIterateChildren = true; BufferedImage newImage = null; int imageWidth = image.getWidth(null); int imageHeight = image.getHeight(null); Element child = (Element) elements.item(childIdx); String tagName = child.getTagName(); if (tagName.equals(TAG_RESIZE)) { newImage = ImageUtils.toBufferedImage(resize(image, child)); } else if (tagName.equals(TAG_FILESET)) { //ignore } else if (tagName.equals(TAG_OUTPUT)) { processTagOutput(child); } else if (tagName.equals(TAG_DISPLAYLIST)) { if (viewManager != null) { newImage = ImageUtils.toBufferedImage(image, true); Graphics g = newImage.getGraphics(); String valign = applyMacros(child, ATTR_VALIGN, VALUE_BOTTOM); Font font = getFont(child); if (XmlUtil.hasAttribute(child, ATTR_MATTEBG)) { int height = viewManager.paintDisplayList((Graphics2D) g, null, imageWidth, imageHeight, valign.equals(VALUE_BOTTOM), null, font); int top = (valign.equals(VALUE_TOP) ? height : 0); int bottom = (valign.equals(VALUE_BOTTOM) ? height : 0); newImage = ImageUtils.matte(image, top, bottom, 0, 0, applyMacros(child, ATTR_MATTEBG, Color.white)); g = newImage.getGraphics(); imageHeight += height; } Color c = applyMacros(child, ATTR_COLOR, (Color) null); viewManager.paintDisplayList((Graphics2D) g, null, imageWidth, imageHeight, valign.equals(VALUE_BOTTOM), c, font); } } else if (tagName.equals(TAG_COLORBAR) || tagName.equals(TAG_KML_COLORBAR)) { // only do one colorbar if we are writing to kml Integer index = (Integer) props.get(PROP_IMAGEINDEX); if ((index != null) && (index.intValue() > 0) && tagName.equals(TAG_KML_COLORBAR)) { continue; } boolean showLines = applyMacros(child, ATTR_SHOWLINES, false); List<DisplayControlImpl> controls = (List<DisplayControlImpl>) ((viewManager != null) ? viewManager.getControls() : new ArrayList()); if (XmlUtil.hasAttribute(child, ATTR_DISPLAY)) { DisplayControlImpl display = ((controls.size() > 0) ? findDisplayControl(XmlUtil.getAttribute(child, ATTR_DISPLAY), controls) : findDisplayControl(child)); if (display == null) { error("Could not find display:" + XmlUtil.toString(node)); return null; } controls = Misc.newList(display); } int width = applyMacros(child, ATTR_WIDTH, 150); int height = applyMacros(child, ATTR_HEIGHT, 20); int ticks = applyMacros(child, ATTR_TICKMARKS, 0); double interval = applyMacros(child, ATTR_INTERVAL, -1.0); String valuesStr = applyMacros(child, ATTR_VALUES, (String) null); Color c = applyMacros(child, ATTR_COLOR, Color.black); Color lineColor = applyMacros(child, ATTR_LINECOLOR, c); Rectangle imageRect = new Rectangle(0, 0, imageWidth, imageHeight); Point pp = ImageUtils.parsePoint(applyMacros(child, ATTR_PLACE, "ll,10,-10"), imageRect); Point ap = ImageUtils.parsePoint(applyMacros(child, ATTR_ANCHOR, "ll"), new Rectangle(0, 0, width, height)); String orientation = applyMacros(child, ATTR_ORIENTATION, VALUE_BOTTOM); boolean vertical = orientation.equals(VALUE_RIGHT) || orientation.equals(VALUE_LEFT); int baseY = pp.y - ap.y + (vertical ? 0 : height); int baseX = pp.x - ap.x; List colorTables = new ArrayList(); List ranges = new ArrayList(); List units = new ArrayList(); boolean forKml = tagName.equals(TAG_KML_COLORBAR); for (int i = 0; i < controls.size(); i++) { DisplayControlImpl control = (DisplayControlImpl) controls.get(i); ColorTable colorTable = control.getColorTable(); if (colorTable == null) { continue; } Range range = control.getRangeForColorTable(); //only do unique color tables Object[] key = { colorTable, range }; if (seenColorTable.get(key) != null) { continue; } seenColorTable.put(key, key); colorTables.add(colorTable); ranges.add(range); units.add(control.getDisplayUnit()); } for (int i = 0; i < colorTables.size(); i++) { ColorTable colorTable = (ColorTable) colorTables.get(i); Range range = (Range) ranges.get(i); Unit unit = (Unit) units.get(i); Image imageToDrawIn; if (forKml) { if (vertical) { baseX = 0; baseY = 0; } else { baseX = 0; baseY = height; } int space = applyMacros(child, ATTR_SPACE, (vertical ? width : height)); imageToDrawIn = new BufferedImage(width + (vertical ? space : 0), height + (vertical ? 0 : space), BufferedImage.TYPE_INT_RGB); } else { imageToDrawIn = newImage = ImageUtils.toBufferedImage(image); } Graphics g = imageToDrawIn.getGraphics(); if (forKml) { Color bgColor = applyMacros(child, ATTR_BACKGROUND, Color.white); g.setColor(bgColor); g.fillRect(0, 0, imageToDrawIn.getWidth(null), imageToDrawIn.getHeight(null)); } boolean includeAlpha = applyMacros(child, ATTR_TRANSPARENCY, true); float[][] ctValues; if (includeAlpha) { ctValues = colorTable.getAlphaTable(); } else { ctValues = colorTable.getNonAlphaTable(); } ColorMap colorMap = new BaseRGBMap(ctValues); ColorPreview preview = new ColorPreview(colorMap, (vertical ? width : height)); if (vertical) { preview.setSize(new Dimension(height, width)); } else { preview.setSize(new Dimension(width, height)); } Image previewImage = ColorTableCanvas.getImage(colorTable, (vertical ? height : width), (vertical ? width : height), includeAlpha); if (vertical) { int imageType = includeAlpha ? BufferedImage.TYPE_INT_ARGB : BufferedImage.TYPE_INT_RGB; BufferedImage tmpImage = new BufferedImage(width, height, imageType); Graphics2D tmpG = (Graphics2D) tmpImage.getGraphics(); tmpG.rotate(Math.toRadians(90.0)); tmpG.drawImage(previewImage, 0, 0 - width, null); previewImage = tmpImage; } if (forKml) { g.drawImage(previewImage, 0, 0, null); } else { g.drawImage(previewImage, baseX, (vertical ? baseY : baseY - height), null); } if (showLines) { g.setColor(lineColor); g.drawRect(baseX, (vertical ? baseY : baseY - height), width - 1, height - (vertical ? 1 : 0)); } setFont(g, child); FontMetrics fm = g.getFontMetrics(); List values = new ArrayList(); String suffixFrequency = XmlUtil.getAttribute(child, ATTR_SUFFIXFREQUENCY, XmlUtil.getAttribute(child, ATTR_SHOWUNIT, "false")).toLowerCase(); String unitDefault = (!suffixFrequency.equals("false")) ? " %unit%" : ""; String labelSuffix = applyMacros(child, ATTR_SUFFIX, unitDefault); if (unit != null) { labelSuffix = labelSuffix.replace("%unit%", "" + unit); } else { labelSuffix = labelSuffix.replace("%unit%", ""); } if (valuesStr != null) { double[] valueArray = Misc.parseDoubles(valuesStr, ","); for (int valueIdx = 0; valueIdx < valueArray.length; valueIdx++) { values.add(new Double(valueArray[valueIdx])); } } else if (ticks > 0) { int spacing = ((ticks == 1) ? 0 : (vertical ? height : width) / (ticks - 1)); for (int tickIdx = 0; tickIdx < ticks; tickIdx++) { double percent = ((ticks > 1) ? (double) tickIdx / (double) (ticks - 1) : 0.0); values.add(new Double(range.getValueOfPercent(percent))); } } else if (interval > 0) { double value = range.getMin(); double max = range.getMax(); while (value <= max) { values.add(new Double(value)); value += interval; } } for (int valueIdx = 0; valueIdx < values.size(); valueIdx++) { double value = ((Double) values.get(valueIdx)).doubleValue(); int x; int y; if (vertical) { if (orientation.equals(VALUE_RIGHT)) { x = baseX + width; } else { x = baseX; } y = baseY + (int) (range.getPercent(value) * height); if (y > baseY + height) { break; } } else { if (orientation.equals(VALUE_BOTTOM)) { y = baseY; } else { y = baseY - height; } if (range != null) { x = baseX + (int) (range.getPercent(value) * width); } else { x = baseX; } if (x > baseX + width) { break; } } String tickLabel = getIdv().getDisplayConventions().format(value); if (suffixFrequency.equals(VALUE_LAST) && (valueIdx == values.size() - 1)) { tickLabel += labelSuffix; } else if (suffixFrequency.equals(VALUE_FIRST) && (valueIdx == 0)) { tickLabel += labelSuffix; } else if (suffixFrequency.equals(VALUE_ALL) || suffixFrequency.equals("true")) { tickLabel += labelSuffix; } Rectangle2D rect = fm.getStringBounds(tickLabel, g); g.setColor(lineColor); if (orientation.equals(VALUE_RIGHT)) { g.drawLine(x + 1, y, x, y); if (showLines) { g.drawLine(x, y, x - width, y); } } else if (orientation.equals(VALUE_LEFT)) { g.drawLine(x - 1, y, x, y); if (showLines) { g.drawLine(x, y, x + width, y); } } else if (orientation.equals(VALUE_BOTTOM)) { g.drawLine(x, y + 1, x, y); if (showLines) { g.drawLine(x, y, x, y - height); } } else { g.drawLine(x, y - 1, x, y); if (showLines) { g.drawLine(x, y, x, y + height); } } g.setColor(c); if (orientation.equals(VALUE_RIGHT)) { int yLoc = y + (int) (rect.getHeight() / 2) - 2; if (forKml) { if (valueIdx == 0) { yLoc = y + (int) (rect.getHeight()) - 2; } else if (valueIdx == values.size() - 1) { yLoc = y - (int) (rect.getHeight()) + 6; } } g.drawString(tickLabel, x + 2, yLoc); } else if (orientation.equals(VALUE_LEFT)) { int xLoc = x - 2 - (int) rect.getWidth(); g.drawString(tickLabel, xLoc, y + (int) (rect.getHeight() / 2) - 2); } else if (orientation.equals(VALUE_BOTTOM)) { int xLoc = x - (int) (rect.getWidth() / 2); if (forKml) { if (valueIdx == 0) { xLoc = x + 2; } else if (valueIdx == values.size() - 1) { xLoc = x - (int) rect.getWidth() + 2; } } g.drawString(tickLabel, xLoc, y + (int) rect.getHeight() + 2); } else { g.drawString(tickLabel, x - (int) (rect.getWidth() / 2), y - 2); } } if (vertical) { baseX += width + 30; } else { baseY += height + 30; } if (forKml) { String tmpImageFile = applyMacros(child, ATTR_FILE, getIdv().getStore().getTmpFile("testcolorbar${viewindex}.png")); String template = "<ScreenOverlay><name>${kml.name}</name><Icon><href>${icon}</href></Icon>\n" + "<overlayXY x=\"${kml.overlayXY.x}\" y=\"${kml.overlayXY.y}\" xunits=\"${kml.overlayXY.xunits}\" yunits=\"${kml.overlayXY.yunits}\"/>\n" + "<screenXY x=\"${kml.screenXY.x}\" y=\"${kml.screenXY.y}\" xunits=\"${kml.screenXY.xunits}\" yunits=\"${kml.screenXY.yunits}\"/>\n" + "<size x=\"${kml.size.x}\" y=\"${kml.size.y}\" xunits=\"${kml.size.xunits}\" yunits=\"${kml.size.yunits}\"/>\n" + "</ScreenOverlay>\n"; String[] macros = { "kml.name", "kml.overlayXY.x", "kml.overlayXY.y", "kml.overlayXY.xunits", "kml.overlayXY.yunits", "kml.screenXY.x", "kml.screenXY.y", "kml.screenXY.xunits", "kml.screenXY.yunits", "kml.size.x", "kml.size.y", "kml.size.xunits", "kml.size.yunits" }; String[] macroValues = { "", "0", "1", "fraction", "fraction", "0", "1", "fraction", "fraction", "-1", "-1", "pixels", "pixels" }; for (int macroIdx = 0; macroIdx < macros.length; macroIdx++) { template = template.replace("${" + macros[macroIdx] + "}", applyMacros(child, macros[macroIdx], macroValues[macroIdx])); } template = template.replace("${icon}", IOUtil.getFileTail(tmpImageFile)); imageProps.put("kml", template); List kmlFiles = (List) imageProps.get("kmlfiles"); //TODO: Only do the first one for now if (kmlFiles == null) { kmlFiles = new ArrayList(); imageProps.put("kmlfiles", kmlFiles); } kmlFiles.add(tmpImageFile); // System.out.println(template); ImageUtils.writeImageToFile(imageToDrawIn, tmpImageFile); } } } else if (tagName.equals(TAG_TRANSPARENT) || tagName.equals(TAG_BGTRANSPARENT)) { Color c = null; if (tagName.equals(TAG_BGTRANSPARENT)) { c = viewManager.getBackground(); } else { c = applyMacros(child, ATTR_COLOR, (Color) null); } // System.err.println ("c:" + c); int[] redRange = { 0, 0 }; int[] greenRange = { 0, 0 }; int[] blueRange = { 0, 0 }; if (c != null) { // System.err.println("got color"); redRange[0] = redRange[1] = c.getRed(); greenRange[0] = greenRange[1] = c.getGreen(); blueRange[0] = blueRange[1] = c.getBlue(); } else { } newImage = ImageUtils.makeColorTransparent(image, redRange, greenRange, blueRange); } else if (tagName.equals(TAG_SHOW)) { JComponent contents = new JLabel(new ImageIcon(image)); String message = applyMacros(child, ATTR_MESSAGE, (String) null); if (message != null) { contents = GuiUtils.topCenter(new JLabel(message), contents); } if (!GuiUtils.askOkCancel("Continue?", contents)) { throw new MyQuitException(); } } else if (tagName.equals(TAG_MATTE)) { newImage = doMatte(image, child, 0); } else if (tagName.equals(TAG_LATLONLABELS)) { newImage = doLatLonLabels(child, viewManager, image, imageProps); } else if (tagName.equals(TAG_WRITE)) { ImageUtils.writeImageToFile(image, getImageFileName(applyMacros(child, ATTR_FILE))); } else if (tagName.equals(TAG_PUBLISH)) { getIdv().getPublishManager().publishIslImage(this, node, image); } else if (tagName.equals(TAG_CLIP)) { int[] ul; int[] lr; if (XmlUtil.hasAttribute(child, ATTR_DISPLAY)) { // System.err.println("Clipping from display"); DisplayControlImpl dc = findDisplayControl(child); if (dc == null) { throw new IllegalArgumentException("Could not find display:" + XmlUtil.toString(node)); } NavigatedDisplay display = (NavigatedDisplay) viewManager.getMaster(); MapProjection mapProjection = dc.getDataProjection(); java.awt.geom.Rectangle2D rect = mapProjection.getDefaultMapArea(); LatLonPoint llplr = mapProjection.getLatLon(new double[][] { { rect.getX() + rect.getWidth() }, { rect.getY() + rect.getHeight() } }); LatLonPoint llpul = mapProjection .getLatLon(new double[][] { { rect.getX() }, { rect.getY() } }); EarthLocation ulEl = new EarthLocationTuple(llpul, new Real(RealType.Altitude, 0)); EarthLocation lrEl = new EarthLocationTuple(llplr, new Real(RealType.Altitude, 0)); ul = display.getScreenCoordinates(display.getSpatialCoordinates(ulEl, null)); lr = display.getScreenCoordinates(display.getSpatialCoordinates(lrEl, null)); //System.err.println("ul:" + ulEl + " lr:" + lrEl); if (ul[0] > lr[0]) { int tmp = ul[0]; ul[0] = lr[0]; lr[0] = tmp; } if (ul[1] > lr[1]) { int tmp = ul[1]; ul[1] = lr[1]; lr[1] = tmp; } imageProps.put(ATTR_NORTH, new Double(ulEl.getLatitude().getValue())); imageProps.put(ATTR_WEST, new Double(ulEl.getLongitude().getValue())); imageProps.put(ATTR_SOUTH, new Double(lrEl.getLatitude().getValue())); imageProps.put(ATTR_EAST, new Double(lrEl.getLongitude().getValue())); } else if ((viewManager != null) && XmlUtil.hasAttribute(child, ATTR_NORTH)) { NavigatedDisplay display = (NavigatedDisplay) viewManager.getMaster(); EarthLocation el1 = DisplayControlImpl.makeEarthLocation(toDouble(child, ATTR_NORTH), toDouble(child, ATTR_WEST), 0); EarthLocation el2 = DisplayControlImpl.makeEarthLocation(toDouble(child, ATTR_SOUTH), toDouble(child, ATTR_EAST), 0); ul = display.getScreenCoordinates(display.getSpatialCoordinates(el1, null)); lr = display.getScreenCoordinates(display.getSpatialCoordinates(el2, null)); imageProps.put(ATTR_NORTH, new Double(el1.getLatitude().getValue())); imageProps.put(ATTR_WEST, new Double(el1.getLongitude().getValue())); imageProps.put(ATTR_SOUTH, new Double(el2.getLatitude().getValue())); imageProps.put(ATTR_EAST, new Double(el2.getLongitude().getValue())); } else if (XmlUtil.hasAttribute(child, ATTR_LEFT)) { ul = new int[] { (int) toDouble(child, ATTR_LEFT, imageWidth), (int) toDouble(child, ATTR_TOP, imageHeight) }; lr = new int[] { (int) toDouble(child, ATTR_RIGHT, imageWidth), (int) toDouble(child, ATTR_BOTTOM, imageHeight) }; } else if (viewManager != null) { //TODO: Clip on visad coordinates NavigatedDisplay display = (NavigatedDisplay) viewManager.getMaster(); ul = display.getScreenCoordinates(new double[] { -1, 1, 0 }); lr = display.getScreenCoordinates(new double[] { 1, -1, 0 }); int space = applyMacros(child, ATTR_SPACE, 0); int hspace = applyMacros(child, ATTR_HSPACE, space); int vspace = applyMacros(child, ATTR_VSPACE, space); ul[0] -= applyMacros(child, ATTR_SPACE_LEFT, hspace); ul[1] -= applyMacros(child, ATTR_SPACE_TOP, vspace); lr[0] += applyMacros(child, ATTR_SPACE_RIGHT, hspace); lr[1] += applyMacros(child, ATTR_SPACE_BOTTOM, vspace); } else { continue; } for (String attr : (List<String>) Misc.newList(ATTR_NORTH, ATTR_SOUTH, ATTR_EAST, ATTR_WEST)) { String kmlAttr = "kml." + attr; if (XmlUtil.hasAttribute(child, kmlAttr)) { imageProps.put(attr, new Double(applyMacros(child, kmlAttr, 0.0))); } } ul[0] = Math.max(0, ul[0]); ul[1] = Math.max(0, ul[1]); lr[0] = Math.min(lr[0], imageWidth); lr[1] = Math.min(lr[1], imageHeight); newImage = ImageUtils.clip(image, ul, lr); } else if (tagName.equals(TAG_SPLIT)) { shouldIterateChildren = false; int width = image.getWidth(null); int height = image.getHeight(null); int cols = applyMacros(child, ATTR_COLUMNS, 2); int rows = applyMacros(child, ATTR_ROWS, 2); String file = applyMacros(child, ATTR_FILE); int cnt = 0; int hSpace = width / cols; int vSpace = height / rows; for (int row = 0; row < rows; row++) { for (int col = 0; col < cols; col++) { pushProperties(); Hashtable myprops = new Hashtable(); putProperty("row", new Integer(row)); putProperty("column", new Integer(col)); putProperty("count", new Integer(++cnt)); String realFile = applyMacros(file, myprops); Image splitImage = image.getSubimage(hSpace * col, vSpace * row, hSpace, vSpace); processImage(ImageUtils.toBufferedImage(splitImage), realFile, child, myprops, viewManager, new Hashtable()); popProperties(); } } } else if (tagName.equals(TAG_THUMBNAIL)) { shouldIterateChildren = false; BufferedImage thumbImage = ImageUtils.toBufferedImage(resize(image, child)); String thumbFile = applyMacros(child, ATTR_FILE, (String) null); if (thumbFile == null) { thumbFile = IOUtil.stripExtension(filename) + "_thumb" + IOUtil.getFileExtension(filename); } processImage(thumbImage, thumbFile, child, null, viewManager, new Hashtable()); } else if (tagName.equals(TAG_KML)) { //NOOP } else if (tagName.equals(TAG_KMZFILE)) { //NOOP } else if (tagName.equals(TAG_OVERLAY)) { double transparency = applyMacros(child, ATTR_TRANSPARENCY, 0.0); Graphics2D g = image.createGraphics(); String imagePath = applyMacros(child, ATTR_IMAGE, (String) null); float scale = (float) applyMacros(child, ATTR_SCALE, 1.0); Rectangle imageRect = new Rectangle(0, 0, imageWidth, imageHeight); Point pp = ImageUtils.parsePoint(applyMacros(child, ATTR_PLACE, "lr,-10,-10"), imageRect); String text = applyMacros(child, ATTR_TEXT, (String) null); Color bg = applyMacros(child, ATTR_BACKGROUND, (Color) null); if (text != null) { double angle = Math.toRadians(applyMacros(child, ATTR_ANGLE, 0.0)); text = applyMacros(text); Color c = applyMacros(child, ATTR_COLOR, Color.white); if ((c != null) && (transparency > 0)) { c = new Color(c.getRed(), c.getGreen(), c.getBlue(), ImageUtils.toAlpha(transparency)); } //Color bg = applyMacros(child, ATTR_BACKGROUND, // (Color) null); if ((bg != null) && (transparency > 0)) { bg = new Color(bg.getRed(), bg.getGreen(), bg.getBlue(), ImageUtils.toAlpha(transparency)); } setFont(g, child); FontMetrics fm = g.getFontMetrics(); Rectangle2D rect = fm.getStringBounds(text, g); int width = (int) rect.getWidth(); int height = (int) (rect.getHeight()); Point ap = ImageUtils.parsePoint(applyMacros(child, ATTR_ANCHOR, "lr,-10,-10"), new Rectangle(0, 0, width, height)); g.rotate(angle); if (bg != null) { g.setColor(bg); g.fillRect(pp.x - ap.x - 1, pp.y - ap.y - 1, (int) width + 2, (int) height + 2); } g.setColor(c); g.drawString(text, pp.x - ap.x, pp.y - ap.y + height); } if (imagePath != null) { Image overlay = ImageUtils.readImage(imagePath); if (overlay != null) { if (transparency > 0) { overlay = ImageUtils.setAlpha(overlay, transparency); } int width = overlay.getWidth(null); int height = overlay.getHeight(null); int scaledWidth = Math.round(width * scale); int scaledHeight = Math.round(height * scale); Image scaled = getScaledImage(overlay, scaledWidth, scaledHeight); Rectangle overlayRect = new Rectangle(0, 0, scaledWidth, scaledHeight); Point ap = ImageUtils.parsePoint(applyMacros(child, ATTR_ANCHOR, "lr,-10,-10"), overlayRect); g.drawImage(scaled, pp.x - ap.x, pp.y - ap.y, bg, null); } } } else { error("Unknown tag:" + tagName); } if (newImage != null) { String newFileName = applyMacros(child, ATTR_FILE, (String) null); if (shouldIterateChildren) { logger.trace("newFileName='{}' viewManager={} newImage={}", newFileName, viewManager, newImage); newImage = processImage(newImage, newFileName, child, null, viewManager, new Hashtable()); logger.trace("finished processImage; result: {}", newImage); } if (newFileName != null) { logger.trace("calling writeImageToFile..."); ImageUtils.writeImageToFile(newImage, getImageFileName(newFileName)); logger.trace("finished writeImageToFile"); debug("Writing image:" + newFileName); } if (!applyMacros(child, ATTR_COPY, false)) { image = newImage; } } } if (filename != null) { float quality = (float) applyMacros(node, ATTR_QUALITY, 1.0); List<String> fileToks = StringUtil.split(filename, ",", true, true); for (String file : fileToks) { file = getImageFileName(file); debug("Writing image:" + file); if (file.endsWith(FileManager.SUFFIX_KMZ) || file.endsWith(FileManager.SUFFIX_KML)) { GeoLocationInfo bounds = null; if (viewManager != null) { bounds = viewManager.getVisibleGeoBounds(); ImageSequenceGrabber.subsetBounds(bounds, imageProps); String tmpImageFile = getOutputPath(file); ImageUtils.writeImageToFile(image, tmpImageFile, quality); ImageWrapper imageWrapper = new ImageWrapper(tmpImageFile, null, bounds, null); imageWrapper.setProperties(imageProps); new ImageSequenceGrabber(file, getIdv(), this, node, (List<ImageWrapper>) Misc.newList(imageWrapper), null, 1); } } else { logger.trace("another writeImageToFile call..."); ImageUtils.writeImageToFile(image, file, quality); logger.trace("and it's done."); } } } logger.trace("result: {}", image); return image; }