protected synchronized void paintComponent2(Graphics2D g2) {
protected void paintComponent2(Graphics2D g2) {
   protected synchronized void paintComponent2(Graphics2D g2) {      Rectangle r = g2.getClipBounds();      g2.setColor(colorBg);//      System.out.println("PaintComponent " + r);      g2.fillRect(r.x,r.y,r.width,r.height);      int sPos = getRowColFromPoint(r.x,                                 r.y);      // fix me here      int er = (numRows - ((((fmHeight * (numRows + 1)) - ((r.y + r.height) + fmHeight)) / fmHeight)));      int ec = (numCols - ((((fmWidth * (numCols + 1)) - ((r.x + r.width) + fmWidth)) / fmWidth)));      int sr = getRow(sPos);      int c = getCol(sPos);      er--;      ec--;//      System.out.println(sr + "," + c + "," + er + "," + ec);      workR.setBounds(sr,c,ec,er);      int rows = er - sr;      int cols = 0;      int lr = workR.x;      int lc = 0;      lr = sPos;      while (rows-- >= 0) {         cols = ec - c;         lc = lr;         while (cols-- >= 0) {            screen[lc++].drawChar(g2);         }         lr += numCols;      }   }