Created attachment 90 [details] The window turns black. The window turns black. Steps to reproduce: 1. Start the game. 2. Minimize the game window. Actual outcome: The window background becomes black. Expected outcome: The game will resume normally.
Previous Code: @Override public void paint(Graphics g){ g.setColor(Color.ORANGE); Point beginPoint, endPoint; Point beginPixel, endPixel; for(int i = 0; i < 9; i++){ beginPoint = new Point(i, 0); endPoint = new Point(i, 8); beginPixel = index2Pixel(beginPoint); endPixel = index2Pixel(endPoint); g.drawLine(beginPixel.getX(), beginPixel.getY(), endPixel.getX(), endPixel.getY()); } for(int j = 0; j < 9; j++){ beginPoint = new Point(0, j); endPoint = new Point(8, j); beginPixel = index2Pixel(beginPoint); endPixel = index2Pixel(endPoint); g.drawLine(beginPixel.getX(), beginPixel.getY(), endPixel.getX(), endPixel.getY()); } for(int k = 1; k <= 8; k++){ beginPoint = new Point(0, k); endPoint = new Point(k, 0); beginPixel = index2Pixel(beginPoint); endPixel = index2Pixel(endPoint); g.drawLine(beginPixel.getX(), beginPixel.getY(), endPixel.getX(), endPixel.getY()); } for(int k = 1; k <= 7; k++){ beginPoint = new Point(8, k); endPoint = new Point(k, 8); beginPixel = index2Pixel(beginPoint); endPixel = index2Pixel(endPoint); g.drawLine(beginPixel.getX(), beginPixel.getY(), endPixel.getX(), endPixel.getY()); } // draw indices g.setColor(Color.RED); g.setFont(new Font(Font.MONOSPACED, Font.BOLD, 24)); for(int i=0;i<9;i++){ Point pos = index2Pixel(new Point(i, -1)); g.drawString(i+"", pos.getX(), pos.getY()); } for(int i=0;i<9;i++){ Point pos = index2Pixel(new Point(i, 9)); g.drawString(i+"", pos.getX(), pos.getY()); } g.setColor(Color.BLUE); for(int i=0;i<9;i++){ Point pos = index2Pixel(new Point(9, i)); g.drawString(i+"", pos.getX(), pos.getY()); } for(int i=0;i<9;i++){ Point pos = index2Pixel(new Point(-1, i)); g.drawString(i+"", pos.getX(), pos.getY()); } beginPoint = new Point(0, 0); endPoint = new Point(11, 0); beginPixel = index2Pixel(beginPoint); endPixel = index2Pixel(endPoint); int xOffset = -(int)(GAP/2*sqrt3); int yOffset = 0; g.setColor(Color.RED); g.drawLine(beginPixel.getX()+xOffset, beginPixel.getY()+yOffset, endPixel.getX()+xOffset, endPixel.getY()+yOffset); // g.drawLine(beginPixel.getX(), beginPixel.getY(), endPixel.getX(), endPixel.getY()); g.drawString("x", endPixel.getX()+xOffset, endPixel.getY()+yOffset); endPoint = new Point(0, 11); beginPixel = index2Pixel(beginPoint); endPixel = index2Pixel(endPoint); g.setColor(Color.BLUE); g.drawLine(beginPixel.getX()+xOffset, beginPixel.getY()+yOffset, endPixel.getX()+xOffset, endPixel.getY()+yOffset); g.drawString("y", endPixel.getX()+xOffset, endPixel.getY()+yOffset); } After Modification: @Override public void paint(Graphics g){ super.paint(g); g.setColor(Color.ORANGE); Point beginPoint, endPoint; Point beginPixel, endPixel; for(int i = 0; i < 9; i++){ beginPoint = new Point(i, 0); endPoint = new Point(i, 8); beginPixel = index2Pixel(beginPoint); endPixel = index2Pixel(endPoint); g.drawLine(beginPixel.getX(), beginPixel.getY(), endPixel.getX(), endPixel.getY()); } for(int j = 0; j < 9; j++){ beginPoint = new Point(0, j); endPoint = new Point(8, j); beginPixel = index2Pixel(beginPoint); endPixel = index2Pixel(endPoint); g.drawLine(beginPixel.getX(), beginPixel.getY(), endPixel.getX(), endPixel.getY()); } for(int k = 1; k <= 8; k++){ beginPoint = new Point(0, k); endPoint = new Point(k, 0); beginPixel = index2Pixel(beginPoint); endPixel = index2Pixel(endPoint); g.drawLine(beginPixel.getX(), beginPixel.getY(), endPixel.getX(), endPixel.getY()); } for(int k = 1; k <= 7; k++){ beginPoint = new Point(8, k); endPoint = new Point(k, 8); beginPixel = index2Pixel(beginPoint); endPixel = index2Pixel(endPoint); g.drawLine(beginPixel.getX(), beginPixel.getY(), endPixel.getX(), endPixel.getY()); } // draw indices g.setColor(Color.RED); g.setFont(new Font(Font.MONOSPACED, Font.BOLD, 24)); for(int i=0;i<9;i++){ Point pos = index2Pixel(new Point(i, -1)); g.drawString(i+"", pos.getX(), pos.getY()); } for(int i=0;i<9;i++){ Point pos = index2Pixel(new Point(i, 9)); g.drawString(i+"", pos.getX(), pos.getY()); } g.setColor(Color.BLUE); for(int i=0;i<9;i++){ Point pos = index2Pixel(new Point(9, i)); g.drawString(i+"", pos.getX(), pos.getY()); } for(int i=0;i<9;i++){ Point pos = index2Pixel(new Point(-1, i)); g.drawString(i+"", pos.getX(), pos.getY()); } beginPoint = new Point(0, 0); endPoint = new Point(11, 0); beginPixel = index2Pixel(beginPoint); endPixel = index2Pixel(endPoint); int xOffset = -(int)(GAP/2*sqrt3); int yOffset = 0; g.setColor(Color.RED); g.drawLine(beginPixel.getX()+xOffset, beginPixel.getY()+yOffset, endPixel.getX()+xOffset, endPixel.getY()+yOffset); // g.drawLine(beginPixel.getX(), beginPixel.getY(), endPixel.getX(), endPixel.getY()); g.drawString("x", endPixel.getX()+xOffset, endPixel.getY()+yOffset); endPoint = new Point(0, 11); beginPixel = index2Pixel(beginPoint); endPixel = index2Pixel(endPoint); g.setColor(Color.BLUE); g.drawLine(beginPixel.getX()+xOffset, beginPixel.getY()+yOffset, endPixel.getX()+xOffset, endPixel.getY()+yOffset); g.drawString("y", endPixel.getX()+xOffset, endPixel.getY()+yOffset); }