JavaFX mon objet Rectangle ne s'affiche pas

Fermé
Anouchka2586 Messages postés 51 Date d'inscription vendredi 10 octobre 2014 Statut Membre Dernière intervention 20 mars 2022 - 25 juil. 2020 à 12:37
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 25 juil. 2020 à 13:36
Bonjour,

Je ne comprend pas pourquoi mon Rectangle ne s'affiche pas :
package application;
	
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.shape.Shape;


public class Main extends Application {
	@Override
	public void start(Stage primaryStage) {
		try {
			Group root = new Group();
			Scene scene = new Scene(root,400,400);
			
			Rectangle r = new Rectangle();
			r.setX(750);
			r.setY(100);
			r.setWidth(200);
			r.setHeight(100);
			r.setArcWidth(30);
			r.setArcHeight(20);
			
			root.getChildren().addAll(r);
			
			primaryStage.setScene(scene);
			primaryStage.setTitle("Hello World");
			primaryStage.show();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		launch(args);
	}
}



Merci

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
25 juil. 2020 à 13:36
Bonjour,

Tu as défini une Scene de taille 400x400, donc avec :
  • en haut à gauche le point (x=0, y=0)
  • en haut à droite le point (x=400, y=0)
  • en bas à gauche le point (x=0, y=400)
  • en bas à droite le point (x=400, y=400)

Tu as défini un Rectangle de taille 200x100 à la position (x=750,y=100), donc avec :
  • en haut à gauche le point (x=750, y=100)
  • en haut à droite le point (x=950, y=100)
  • en bas à gauche le point (x=750, y=200)
  • en bas à droite le point (x=950, y=200)

Le problème c'est qu'aucun des points du Rectangle n'est dans la Scene.
Deux manières de corriger l'affichage :
  • Augmenter la taille de la Scene au moins jusqu'à 950x200
  • Déplacer le Rectangle pour qu'il ne soit pas au delà de (x=200,y=300)
1