// `揈 public void paint(Graphics g) { Font font; String number; int bx,by,pieceWidth,pieceHeight,px,py; g.lock(); g.clearRect(0,0,getWidth(),getHeight()); pieceWidth =images[0].getWidth(); pieceHeight=images[0].getHeight(); for (int y=0;y<=level-1;y++) { for (int x=0;x<=level-1;x++) { bx=(getWidth ()-level*pieceWidth )/2+x*pieceWidth; by=(getHeight()-level*pieceHeight)/2+y*pieceHeight; if (clear) { g.drawImage(images[piece[x][y]],bx,by); } else if (x==cursorX && y==cursorY) { g.clearRect(bx,by,pieceWidth,pieceHeight); } else { g.drawImage(images[piece[x][y]],bx,by); g.clearRect(bx+pieceWidth-1,by,1,pieceHeight); g.clearRect(bx,by+pieceHeight-1,pieceWidth,1); number=Integer.toString(piece[x][y]); font=Font.getDefaultFont(); px=bx+pieceWidth/2-font.stringWidth(number)/2; py=by+pieceHeight/2-font.getHeight()/2+font.getAscent(); g.setColor(Graphics.getColorOfName(Graphics.BLACK)); g.drawString(number,px+1,py+1); g.setColor(Graphics.getColorOfName(Graphics.WHITE)); g.drawString(number,px,py); } } } g.unlock(true); }