System.out.println(s + " " + n.doubleValue());
   protected final Vector sumThem(boolean which) {      StringBuffer s = new StringBuffer();      getBoundingArea(workR);      gui.rubberband.reset();      gui.repaint();      System.out.println("Summing");      System.out.println(workR);      // loop through all the screen characters to send them to the clip board      int m = workR.x;      int i = 0;      int t = 0;      double sum = 0.0;      // obtain the decimal format for parsing      DecimalFormat df =            (DecimalFormat)NumberFormat.getInstance() ;      DecimalFormatSymbols dfs = df.getDecimalFormatSymbols();      if (which) {         dfs.setDecimalSeparator('.');         dfs.setGroupingSeparator(',');      }      else {         dfs.setDecimalSeparator(',');         dfs.setGroupingSeparator('.');      }      df.setDecimalFormatSymbols(dfs);      Vector sumVector = new Vector();      while (workR.height-- >= 0) {         t = workR.width;         i = workR.y;         while (t-- >= 0) {            // only copy printable numeric characters (in this case >= ' ')            char c = screen[getPos(m-1,i-1)].getChar();            if (((c >= '0' && c <= '9') || c== '.' || c == ',' || c == '-')                                    && !screen[getPos(m-1,i-1)].nonDisplay) {               s.append(c);            }            i++;         }         if (s.length() > 0) {            if (s.charAt(s.length()-1) == '-') {               s.insert(0,'-');               s.deleteCharAt(s.length()-1);            }            try {               Number n = df.parse(s.toString());               System.out.println(s + " " + n.doubleValue());               sumVector.add(new Double(n.doubleValue()));               sum += n.doubleValue();            }            catch (ParseException pe) {               System.out.println(pe.getMessage() + " at " + pe.getErrorOffset());            }         }         s.setLength(0);         m++;      }//      System.out.println(sum);      return sumVector;   }