private void runBtMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_runBtMouseClicked
        // TODO add your handling code here:
        
        int numVoters = Integer.parseInt(numVotersTF.getText());
        int numCans = Integer.parseInt(numCandTF.getText());
        
        List<Candidate> cans = new ArrayList<>();
        
        // First generate the candidates
        for (int i = 0; i < numCans; i++)
        {
            cans.add(new Candidate("" + i));
        }
        
        
        
        // Second generate the preferences for all of the voters
        List<Ranking<Candidate> > rankings = new ArrayList<>();
        for (int i = 0; i < numVoters; i++)
        {
            List<Candidate> alts = new ArrayList<>(cans);
            Collections.shuffle(alts);
            Ranking<Candidate> ordering = new Ranking<>();

            //System.out.print("Ranking: ");
            for (Candidate c : alts) {
                ordering.pushCandidate(c);
                //      System.out.print(c.getID() + ", ");
            }
            // reverse so that I printed it out correctly...
            ordering.reverseRanks();
            rankings.add(ordering);
        }
        
        v = new VoterModel();
        v.updateData(cans, rankings);
        
        votePrefsTable.setModel(v);
        
        
        
        // so now I have to make all of the combos  and run them
        List<String> schemeName = new ArrayList<>();
        List< Ranking<Candidate> > results = new ArrayList<>();
        int k = 10;// the value for cumulative voters... could add a tf to frame...
        for (Mapping c : Mapping.values())
        {
            
            Map<IScheme, List<IVoter> > curScheme = c.buildVoting(rankings);
            
            IScheme s = curScheme.keySet().iterator().next();
            List<IVoter> votersL = curScheme.values().iterator().next();
            
            if (c == Mapping.Cumulative)
            {
                for(IVoter iv : votersL)
                {
                    CumulativeVoter cv = (CumulativeVoter)iv;
                    cv.setK(k);
                }
            }
            
            s.setup(new HashSet<>(cans), new HashSet<>(votersL));
            results.add(s.vote());
            schemeName.add(c.toString());
            // clear the candidates
            
            for (Candidate can : cans)
            {
                can.clearVotes();
            }
            
            
        }
        
        
        
        
        rMod = new ResultsModel();
        rMod.updateData(schemeName, results, numCans);
        resultsTable.setModel(rMod);
        
        
        
        
        
        
        
    }//GEN-LAST:event_runBtMouseClicked