private void updateTotals() { boolean used = processAssignmentList.size() > 0; machineLabel.setEnabled(used); for (MrResource resource : resourceList) { JTextField resourceField = resourceFieldMap.get(resource); long maximumCapacity; long safetyCapacity; if (machine != null) { MrMachineCapacity machineCapacity = machine.getMachineCapacity(resource); maximumCapacity = machineCapacity.getMaximumCapacity(); safetyCapacity = machineCapacity.getSafetyCapacity(); } else { maximumCapacity = 0L; safetyCapacity = 0L; } long usedTotal = 0L; for (MrProcessAssignment processAssignment : processAssignmentList) { usedTotal += processAssignment.getProcess().getProcessRequirement(resource).getUsage(); } resourceField.setText(usedTotal + " / " + maximumCapacity); resourceField.setForeground( usedTotal > maximumCapacity ? TangoColorFactory.SCARLET_3 : (usedTotal > safetyCapacity ? TangoColorFactory.ORANGE_3 : Color.BLACK)); resourceField.setEnabled(used); } numberOfProcessesLabel.setText(processAssignmentList.size() + " processes "); numberOfProcessesLabel.setEnabled(used); }