J'ai ceci ces classes;classe ne héritant pas de la classe qui s'étend à JComponent
public class Car extends JComponent {
}
public class Mazda extends Car {
}
public class Subaru extends Car {
}
Dans ma classe de voiture-je remplacer le composant de peinture méthode
@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());
}
}
Il tire l'instance de mazda très bien, mais le code pour les instances de subaru juste ne sera jamais appelé. Il semble que Subaru n'hérite pas de Jcomponent de Car? ou pourquoi n'appelle pas le composant douleur? Nouveau sur Java, il me manque probablement quelque chose de basique
Pourquoi ne pas surcharger 'paintComponent' dans' Mazda' et 'Subaru'? –
J'ai essayé mais seul le code Mazda fonctionnait et pas chez Subaru, j'ai aussi essayé de le rendre abstrait en Car mais pas de chance. –
comment et où sont les instances ajoutées? –