JAVA坦克大战项目练习日2

1.this.setResizable(false) 表示窗口大小不可改

2.匿名类是一种定义于方法中的内部类

public class Test {

 
    public static void main(String[] args) {

      
        Person boy=new Person(){

            public void eat(){

                System.out.println(" a boy is eating rice");

            }

        };

    }

 

}

 3.public void paint(Graphics g)

paint  方法 就相当于建立一个 画布 用画笔 g  再 paint 里 面画图

@Override
    public void paint(Graphics g) {
        
        Color c = g.getColor(); //默认为画布为黑色 先将颜色取出再操作
        g.setColor(Color.RED);
        g.fillOval(50, 50, 30, 30);
        g.setColor(c); //当你的程序执行完后恢复初始颜色
    }

 4.让坦克动起来的方法 线程 创建一个内部类 在run方法中 利用while循环 在循环中调用外部类Frame 中的repaint();来不断调用坦克动起来的方法;

new Thread(new PaintThread()).start();
//相当于使用内部类对象.方法
//为了解决这个问题,可以这样写:new TankClient().new PaintThread(), 也可以将PaintThread类定义为静态的

 5.Thread.sleep()方法

  使用当前在执行的线程以指定的毫秒数暂停,也就是暂时停止执行。

6.因为在使用方法Thread.sleep()时,程序在sleep的时间内可能发生异常,所以要调用异常处理方法。
 
1.throws 用于抛出方法层次的异常,并且直接由这些方法调用异常处理类来处理该异常,用在方法头。比如 public static void main(String[] args) throws SQLException
 
2.throw 用于方法块里面的代码,比throws的层次要低,比如 try...catch...语句块,表示它抛出异常,但它不会处理它,而是由方法块的 throws Exception 来调用异常处理类来处理。
 try {
             Thread.sleep(50);}

 catch (InterruptedException e) {
                    
    e.printStackTrace();
}

 

6.repaint()这个方法是一个具有刷新页面效果的方法,如果你要页面进行重画就可以调用.一般都是在AWT的图形绘制当中调用的到

posted @ 2020-04-10 14:45  vkd  阅读(207)  评论(0编辑  收藏  举报