Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec ImageView

    10 novembre 2022 à 22:38:22

    Bonjour,

    Je dois faire un projet en java, je ne suis pas très bon parce que je ne suis pas issue de l'informatique. Je dois afficher un robot et son rayon action. Pour afficher le robot, je utilise imageview. Je recontre des problèmes. Pouvez - vous me dire comment rectifier les erreurs.

    Merci  beaucoup.

    public class Position{
        public double x;
        public double y;
        
        public Position(double x, double y){
    	this.x = x;
    	this.y = y;
        }
    
        public Position(Position p){
    	this(p.x,p.y);
        }
         void affichier(){
    	System.out.println("("+this.x+ this.y+")");
        }
        void deplacement(double dx, double dy){
    	this.x += dx;
    	this.y += dy;
        }
        void deplacement(double delta){
    	this.x += delta;
        }
        double distance(Position cible){
    	return Math.sqrt((this.x - cible.x)*(this.x-cible.x)+(this.y-cible.y)*(this.y - cible.y));
        }
    }
    
    



    import java.util.*;
    import java.io.*;
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.image.Image;
    import javafx.scene.image.ImageView;
    import javafx.scene.layout.Pane;
    import javafx.stage.Stage;
    import javafx.scene.paint.Color;
    
    public class Robot{
        Position x1;
        public  double energie;
        public  double cout;
        ImageView img;
        //Circle rayon;
    
        public Robot(Position x1, double energie, double cout){
    	this.energie = energie;
    	this.cout = cout;
        }
    
        double rayonAction(){
    	double distance;
          return distance = this.energie/this.cout;
        }
    
        boolean peutSeDeplacer(Position cible){
    	 boolean etat;
    	 if(rayonAction() == cible.distance(cible) || rayonAction()<cible.distance(cible)){
    	     etat = true;
    	 }
    	 else{
    	     etat = false;
    	 }
    
    	 return etat;
         }
    
        void afficher(){
            
    	System.out.println(x1.x+x1.y);
    	System.out.println("Energie"+":"+"  "+ this.energie);
    	System.out.println("cout" + ":" +"  "+ this.cout);
        }
    
        ImageView FXRobot(){
            img = new ImageView(new Image("./robot.png"));
            img.setX(x1.x);
            img.setY(x1.y);
    	return img;
       }
    
    
    }
    

    code testrobot

    import java.util.*;
    import java.io.*;
    
    
    public class TestRobot{
        public static  void  main (String [] args){
    	Position nouveau = new Position(10,20);
    	Robot machine = new Robot(nouveau, 100,1000);
    	//ImageView valeur1 = new Imageview();
    	machine.FXRobot();
     
        }
    }
    
     
     


    erreur :

    Exception in thread "main" java.lang.RuntimeException: Internal graphics not initialized yet
        at javafx.graphics@19/com.sun.glass.ui.Screen.getScreens(Screen.java:68)
        at javafx.graphics@19/com.sun.javafx.tk.quantum.QuantumToolkit.getScreens(QuantumToolkit.java:749)
        at javafx.graphics@19/com.sun.javafx.tk.quantum.QuantumToolkit.getMaxRenderScale(QuantumToolkit.java:776)
        at javafx.graphics@19/com.sun.javafx.tk.quantum.QuantumToolkit.loadImage(QuantumToolkit.java:785)
        at javafx.graphics@19/javafx.scene.image.Image.loadImage(Image.java:1076)
        at javafx.graphics@19/javafx.scene.image.Image.initialize(Image.java:822)
        at javafx.graphics@19/javafx.scene.image.Image.<init>(Image.java:629)
        at Robot.FXRobot(Robot.java:48)
        at TestRobot.main(TestRobot.java:10)



    • Partager sur Facebook
    • Partager sur Twitter

    Problème avec ImageView

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown