Graphics的问题
Graphics e=new Graphics()这么写为什么不对,和paint(Graphics g)有什么区别?
现在都是用Graphics2D
你可以这么写
public void paintComponent(Graphics g)
之所以这样不行,是因为Graphics这个类是一个抽象类,是不能直接用它的构造函数构造出来的
JAVA这样做,是有它的道理的,因为这个Graphics是包括了图形上下文的信息的
而如果直接能初始化的话,那么这个Graphics就不可能包括图形上下文的信息了
所以一般这个类是由系统在运行的时候生成的,并且paint,paintComponent等方法都是由系统来调用的
系统在调用的时候把适当的Graphics对象传进去就可以了
我们没有必要去考虑Graphics是怎么生成的,我们只要在方法里面好好用就可以了