私はこれを持っています。私の車クラスでJComponentに拡張されたクラスから継承しないクラス
public class Car extends JComponent {
}
public class Mazda extends Car {
}
public class Subaru extends Car {
}
私は、メソッドの塗料成分を
@Override
public void paintComponent(Graphics g) {
//why my planets aren't painted by this method
if (this instanceof Mazda) {
g.fillOval(0, 0, this.getWidth(), this.getHeight());
System.out.println(this.getClass());
}
if (this instanceof Subaru) {
g.setColor(Color.blue);
g.fillOval(0, 0, this.getWidth(), this.getHeight());
System.out.println(this.getClass());
}
}
を上書きするには、マツダのインスタンスがうまく描くが、スバルのインスタンスのためのコードは、単にと呼ばれることは決してありません。スバルがJcomponentをCarから継承していないようですね?なぜpainComponentを呼び出さないのですか? New to Javaのため、基本的なものが欠けている可能性があります。
なぜあなたは 'Mazda'と' Subaru'の 'paintComponent'をオーバーライドしませんか? –
私はしようとしたが、マツダのコードだけではなく、スバルでは、私も車で抽象化しようとしたが運がない。 –
インスタンスはどのように追加されますか? –