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);
}
}
最初のものはレンダリングしますが、2番目のものはフレーム以外のグラフィックをレンダリングしません。paintComponent()にはGraphicsオブジェクトが必要であることに気付きましたが、Graphics2DがGraphicsオブジェクトのサブクラスである場合、Graphicsのサブクラスを呼び出せないのはなぜですか?
なぜそうなのか、私が理解していない概念はありますか?