J'essaie de construire un rectangle dans un rectangle. Rectangle "murs" devrait être dans une position particulière avec une hauteur qui est bg.getHeight() - ground.getHeight(). Pour une raison quelconque, le rectangle "murs" s'étend toujours au bas de l'applet. Toutes les autres valeurs telles que la largeur et les positions fonctionnent correctement. Avec une applet de 300 hauteurs, si je soustrais un 120 statique, ça marche, mais la valeur de ground.getHeight est en fait de 60, et si je soustrais 60, ça descend tout le long de la frontière. Je suis confus avec l'incohérence.java Rectangle getHeight() comportement impair
import javax.swing.JApplet;
import java.awt.*;
public class House_JM extends JApplet {
public void paint(Graphics page) {
Rectangle ground = new Rectangle(0, (int) (getSize().height * .8), getSize().width,
(int) (getSize().height * .2));
Rectangle bg = new Rectangle(0, 0, getSize().width, (int) (getSize().height * .8));
page.setColor(Color.green);
page.fillRect((int) ground.getX(), (int) ground.getY(), (int) ground.getWidth(), (int) ground.getHeight());
page.setColor(Color.blue);
page.fillRect((int) bg.getX(), (int) bg.getY(), (int) bg.getWidth(), (int) bg.getHeight());
Rectangle walls = new Rectangle((int) (bg.getWidth()/2 - bg.getWidth() * .1), (int) (bg.getHeight() * .5),
(int) (bg.getWidth() * .4), (int) ((bg.getHeight() - ground.getHeight())));
page.setColor(Color.red);
page.fillRect((int) walls.getX(), (int) walls.getY(), (int) walls.getWidth(), (int) walls.getHeight());
System.out.println(bg.getHeight());
}
}
Veuillez créer et publier un programme valide [mcve], *** *** avec du code que nous pouvons copier, coller, compiler et exécuter, et qui démontre votre problème. Ne pas demander le programme entier, juste assez pour que nous puissions tester complètement. –
En outre, dessinez-vous directement dans l'applet? Ne faites pas cela mais dessinez plutôt dans un JPanel qui est affiché par l'applet. Aussi, pourquoi utilisez-vous même des applets car cette technologie a été abandonnée par Oracle? –
Article édité avec code complet. J'utilise une applet parce que c'est une tâche scolaire. – user1660886