示例#1
0
  /** 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()));
    }
  }
示例#2
0
  /**
   * 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