JAVA paintComponent问题 求高手 在线等啊
程序最小化之后恢复后界面绘制就被repaint了paintComponent和paint应该如何覆写?publicvoidpaintComponent(Graphicsg...
程序最小化之后 恢复后 界面绘制就被repaint了 paintComponent和paint应该如何覆写?
public void paintComponent(Graphics g) {//绘制背景
super.paintComponent(g);
for (int r = 0; r < ARY_ROW; r++)
for (int c = 0; c < ARY_COL; c++) {
g.setColor(Color.GRAY);
g.fill3DRect(c * 40, r * 40, 40, 40, true);
gameArea[r][c] = 0;
}}
public void redraw(int x, int y) {//画小方块
g.setColor(colorFront);
g.fill3DRect(x * 40, y * 40, 40, 40, true);
}
程序最小化后 恢复 就被repaint了 求高手 在线等啊 展开
public void paintComponent(Graphics g) {//绘制背景
super.paintComponent(g);
for (int r = 0; r < ARY_ROW; r++)
for (int c = 0; c < ARY_COL; c++) {
g.setColor(Color.GRAY);
g.fill3DRect(c * 40, r * 40, 40, 40, true);
gameArea[r][c] = 0;
}}
public void redraw(int x, int y) {//画小方块
g.setColor(colorFront);
g.fill3DRect(x * 40, y * 40, 40, 40, true);
}
程序最小化后 恢复 就被repaint了 求高手 在线等啊 展开
展开全部
复写paint的paintComponents方法是需要继承相应的组建类:继承之后覆写这两个方法:
@Override
public void paint(Graphics g) {
}
@Override
public void paintComponents(Graphics g) {
super.paintComponents(g);
/**
* 行写的代码最后是放在super方法之后
*/
}
其中paintComponents方法是在窗口创建 时被调用。而paint方法也会在那个时候被多次调用。
完成之后你可以通过调用这个组建的 void repaint() 方法。调用之后 paint方法回被自动回调。
如果是图形需要多次绘制的 建议用paint方法。
@Override
public void paint(Graphics g) {
}
@Override
public void paintComponents(Graphics g) {
super.paintComponents(g);
/**
* 行写的代码最后是放在super方法之后
*/
}
其中paintComponents方法是在窗口创建 时被调用。而paint方法也会在那个时候被多次调用。
完成之后你可以通过调用这个组建的 void repaint() 方法。调用之后 paint方法回被自动回调。
如果是图形需要多次绘制的 建议用paint方法。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询