任务:
效果:
增加代码:
重写 paint() 方法,画出圆形坦克
//画圆,前两个参数代表该圆的外切矩形的左上角的位置
//,后两个参数代表画的圆的外切矩形的长和宽
g.fillOval(50, 50, 30, 30);
完整代码:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
public class TankClient extends JFrame {
public void launchJFrame() {
//设置窗口出现位置,以左上角为原点
this.setLocation(150, 150);
//设置窗口大小
this.setSize(800,600);
//设置窗口大小不可改变,默认为 true
this.setResizable(false);
//设置窗口是否可见
setVisible(true);
//设置名称
setTitle("TankWar");
//单击窗口关闭按钮关闭窗口
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void paint(Graphics g) {
//得到画笔的前景色
Color c = g.getColor();
//改变画笔颜色
g.setColor(Color.BLUE);
//画圆,前两个参数代表该圆的外切矩形的左上角的位置
//,后两个参数代表画的圆的外切矩形的长和宽
g.fillOval(50, 50, 30, 30);
//把前景色还回去
g.setColor(c);
}
public static void main(String[] args) {
TankClient tc = new TankClient();
tc.launchJFrame();
}
}
总结
1.要画图就需要重写 paint() 方法
2.画笔的前景色取出来,用完再恢复回去