/** Creates new form NewJFrame */ public FrmResult(ArrayList<DataReview> dataRvw) { this.dataRvw = dataRvw; ArrayList<Results> arrRes = new ArrayList<Results>(); // ArrayList<Results> arrResFinal = new ArrayList<Results>(); Results resLower = null; initComponents(); Iterator<DataReview> itrDr = this.dataRvw.iterator(); while (itrDr.hasNext()) { DataReview dr = itrDr.next(); String code = dr.getCode(); float ave = dr.getAverage(); // Data Results r = new Results(); ArrayList<Feature> arrFea = new ArrayList<Feature>(); // Array de Features // System.out.println("code: "+code+" ave: "+ave); int limit = 1; // Cut String limite for (int i = 0; i < code.length() - 1; i++) { Feature f = new Feature(); f.setFtr(Integer.parseInt(code.substring(i, limit))); limit += 1; arrFea.add(f); } r.setCode(arrFea); r.setAve(ave); arrRes.add(r); } // Iterator<Results> itrRes = arrRes.iterator(); // while (itrRes.hasNext()){ // Results res = itrRes.next(); // ArrayList<Feature> arrFea2 = res.getCode(); // float ave = res.getAve(); // // System.out.print("ArrayFeatures: "); // Iterator<Feature> itrFea = arrFea2.iterator(); // while (itrFea.hasNext()) { // Feature f = itrFea.next(); // System.out.print(f.getFtr()); // } // System.out.println(" Average: "+res.getAve()); // } resLower = arrRes.get(0); // Take teh lower result to get the neighbors. Iterator<Results> itrRes = arrRes.iterator(); while (itrRes.hasNext()) { Results res = itrRes.next(); ArrayList<Feature> arrFeaRes = res.getCode(); float ave = res.getAve(); ArrayList<Feature> arrFeaRLower = resLower.getCode(); int cont = 0; for (int i = 0; i < arrFeaRes.size(); i++) { if (arrFeaRes.get(i).getFtr() != arrFeaRLower.get(i).getFtr()) { // System.out.println("AR: "+arrFeaRes.get(i).getFtr()+" >> // "+arrFeaRLower.get(i).getFtr()); cont += 1; } } // System.out.println(""); // Create de Result Final Results resFinal = new Results(); resFinal.setCode(arrFeaRes); resFinal.setAve(ave); resFinal.setDist(cont); if (cont != 0) { this.arrResFinal.add(resFinal); } } System.out.println("<< RESULTS >>"); System.out.print("Lower Node: "); Iterator<Feature> itrFeaResLow = resLower.getCode().iterator(); while (itrFeaResLow.hasNext()) { System.out.print(itrFeaResLow.next().getFtr()); } System.out.println(""); Iterator<Results> itrResFinal = this.arrResFinal.iterator(); while (itrResFinal.hasNext()) { Results r = itrResFinal.next(); ArrayList<Feature> arrFea = r.getCode(); float ave = r.getAve(); int dist = r.getDist(); System.out.print("Features: "); Iterator<Feature> itrArrFea = arrFea.iterator(); while (itrArrFea.hasNext()) { Feature f = itrArrFea.next(); System.out.print(f.getFtr()); } System.out.println(" Average: " + ave + " Distance: " + dist); } // take the first object DataReview cause it's lower. for (int i = 0; i < 1; i++) { DataReview dr = this.dataRvw.get(i); KnnId.setText(dr.getCode()); KnnAve.setText(String.valueOf(dr.getAverage())); } }
/** * 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. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); KnnId = new javax.swing.JTextField(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); KnnNo = new javax.swing.JTextField(); calculate = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); jTResults = new javax.swing.JTable(); KnnAve = new javax.swing.JTextField(); jButton1.setText("Cancel"); jButton1.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jButton2.setText("Acept"); jButton2.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); KnnId.setEnabled(false); jLabel1.setText("Knn:"); jLabel2.setText("No. Neighbors:"); KnnNo.setText("###"); calculate.setText("Calculate"); calculate.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { calculateActionPerformed(evt); } }); jTResults.setModel( new javax.swing.table.DefaultTableModel( new Object[][] {}, new String[] {"Code", "Average", "Distance", "Coefficient Proximity"})); jScrollPane1.setViewportView(jTResults); KnnAve.setEnabled(false); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addContainerGap() .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( layout .createSequentialGroup() .addGroup( layout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel2) .addComponent(jLabel1)) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup( layout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup( layout .createSequentialGroup() .addComponent( KnnId, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement .RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent( KnnAve, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup( layout .createSequentialGroup() .addComponent( KnnNo, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement .RELATED) .addComponent( calculate, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup( layout .createSequentialGroup() .addComponent( jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent( jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent( jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 398, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); layout.setVerticalGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup( javax.swing.GroupLayout.Alignment.TRAILING, layout .createSequentialGroup() .addContainerGap() .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent( KnnId, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent( KnnAve, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(13, 13, 13) .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent( KnnNo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(calculate)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent( jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup( layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButton1) .addComponent(jButton2)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); pack(); } // </editor-fold>//GEN-END:initComponents