public class MyDrawPanel extends JPanel {
public void paintComponent(Graphics g){
Graphics2D gd2 = (Graphics2D) g;
GradientPaint gradient = new GradientPaint(70,70,Color.blue,150,150,Color.red);
}
}
为什么这是有效的,但不是这个:
public class MyDrawPanel extends JPanel {
public void paintComponent(Graphics2D g){
GradientPaint gradient = new GradientPaint(70,70,Color.blue,150,150,Color.red);
g.setPaint(gradient);
g.fillOval(70,70,100,100);
}
}
第一个渲染,但第二个渲染除了帧之外的任何图形。我注意到paintComponent() 需要一个Graphics 对象,但是如果Graphics2D 是Graphics 对象的子类,为什么我不能调用Graphics 的子类?
关于为什么会这样,有什么我没有理解的概念吗?