2016-11-07 6 views
-3

Je fais une tâche. Ceci est la première partie de la mission:Comment dessiner une brique (Rectangle) sur Java?

Dessin d'une seule brique

Ce sont les étapes pour construire une brique:

  1. construit un nouvel objet Rectangle.

  2. Définissez la position de votre rectangle en fonction des coordonnées transmises en tant que paramètres.

  3. Modifiez la taille du rectangle pour obtenir la taille correcte d'une brique. Il y a deux champs définis pour vous, l'un s'appelle bWidth et l'autre s'appelle bHeight et ceux-ci sont initialisés avec des valeurs wth comme largeur et hauteur d'une brique.

Remarque: ne modifiez pas les valeurs de bWidth ou bHeight dans cette tâche. Laissez-les comme ils sont. (bWidth = 54) (bHeight = 16)

  1. Ajoutez le rectangle à ArrayList appelé briques à l'aide de la méthode add.

  2. Enfin, rendre le rectangle visible

Ceci est mon code actuel:

private void drawBrick(int startX, int startY){ 

    Rectangle brick1 = new Rectangle(); 

    startX = 54; 
    startY = 16; 

    brick1.setPosition(startX, startY); 

    bricks = new ArrayList<Rectangle>(); 
    bricks.add(brick1); 


    brick1.makeVisible(); 

} 

Mais chaque fois que je construire l'objet et appeler la méthode de tirage au sort, rien n'apparaît. Qu'ai-je fait de mal?

+0

Pourquoi vous définir la valeur des paramètres? –

+0

En outre, vous n'avez jamais déclaré 'briques' que vous êtes en train de l'initialiser. Pouvez-vous poster la classe complète? –

+1

Vous avez mal compris les instructions. Vous ne devriez pas changer 'startX' et' startY' en 54 et 16, mais vous devriez régler la taille de la brique à 54x16. – Blorgbeard

Répondre

0

rien d'autre hypothèse qui ne va pas, il vous manque setSize: vous avez un Rectangle à la position appropriée , mais il est invisible, car à la fois la largeur et la hauteur sont la valeur par défaut 0.

(je ne sais pas aussi sur la méthode makeVisible.)

+1

À moins que 'Rectangle' ne soit une classe personnalisée,' makeVisible' n'est pas une méthode (source: [Java 8 API] (https://docs.oracle.com/javase/8/docs/api/java/awt/Rectangle. html)). –

+0

@EliSadoff: Oui, vous l'avez mieux formulé que moi. – Amadan