class Applicant { int id; float[] data = new float[8]; float reviewScore; float scienceGPA; float cumGPA; float interviewScore; float pcHours; String appStatus; color fillColor; boolean display; public Applicant(int id, float reviewScore, float scienceGPA, float cumGPA, float interviewScore, float pcHours, float bcpGPA, float shadowHours, String appStatus) { data[0] = (float)id; data[1] = reviewScore; data[2] = scienceGPA; data[3] = cumGPA; data[4] = interviewScore; data[5] = pcHours; data[6] = bcpGPA; data[7] = shadowHours; this.appStatus = appStatus; this.fillColor = (Integer) statusColors.get(appStatus); this.display = true; } void draw() { if (display) { int xx = (int) TX(data[xMenu.getItem()]); int yy = (int) TY(data[yMenu.getItem()]); if (isPlotArea(xx, yy)) { noStroke(); fill(fillColor); rect(xx, yy, ELLIPSE_SIZE, ELLIPSE_SIZE); // display mouse hover details if (dist(mouseX, mouseY, xx, yy) < ELLIPSE_SIZE / 2) { String appInfo = "Id = " + data[0] + ", Cum GPA = " + data[3] + ", Science GPA = " + data[2] + ", Bio.Chem.Phys GPA = " + data[6] + ", Shadow Hours = " + data[7] + ", Patient Care Hours = " + data[5] + ", Application Score = " + data[1] + ", Interview Score = " + data[4]; textAlign(LEFT, CENTER); text(appInfo, 45, 695); } } } } void filter(String filterStatus) { if (appStatus.equals(filterStatus)) { display = !display; } } boolean getDisplay() { return display; } float getData(int index) { return data[index]; } }