2017-10-10 12 views
0

J'ai essayé ceci pour ma sélection et son fonctionnement correctement mais mon exigence est seulement pour une boîte et sa sélection de scène complète.Comment sélectionner une région particulière de l'image par un événement de souris dans Webview et recadrer par événement clé en utilisant l'espace?

package verticalseperator; 

/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 
/** 
* 
* @author biznis 
*/ 
/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 
/** 
* 
* @author biznis 
*/ 

import java.io.File; 
import java.io.FileWriter; 
import java.io.IOException; 
import java.nio.charset.StandardCharsets; 
import java.util.logging.Level; 
import java.util.logging.Logger; 
import javax.swing.JOptionPane; 
import javafx.application.Application; 
import javafx.application.Platform; 
import javafx.beans.value.ChangeListener; 
import javafx.beans.value.ObservableValue; 
import javafx.concurrent.Worker; 
import javafx.concurrent.Worker.State; 
import javafx.geometry.Insets; 
import javafx.scene.Scene; 
import javafx.scene.input.KeyCode; 
import javafx.scene.input.KeyEvent; 
import javafx.scene.input.MouseEvent; 
import javafx.scene.layout.HBox; 
import javafx.scene.layout.Priority; 
import javafx.scene.layout.StackPane; 
import javafx.scene.layout.VBox; 
import javafx.scene.paint.Color; 
import javafx.scene.shape.Rectangle; 
import javafx.scene.web.WebEngine; 
import javafx.scene.web.WebView; 
import javafx.stage.Stage; 
import javafx.scene.effect.Light.Point; 
import javafx.scene.image.PixelReader; 


/** 
* 
* Created on: 20.03.2012 
* 
* @author Sebastian Damm 
*/ 
public class HV extends Application { 
    @Override 
    public void start(Stage primaryStage) throws Exception { 

      StackPane root = new StackPane(); 

     HBox hbox = new HBox(30); // create a HBox to hold 2 vboxes   

     // create a vbox with a textarea that grows vertically 
     VBox vbox = new VBox(10); 
     //Label label1 = new Label(""); 

     final WebView img = new WebView(); 
     final WebEngine Img = img.getEngine(); 


     final Rectangle selection = new Rectangle(); 
     final Point anchor = new Point(); 

     img. setOnMousePressed((MouseEvent event) ->{ 
    anchor.setX(event.getX()); 
      anchor.setY(event.getY()); 
      selection.setX(event.getX()); 
      selection.setY(event.getY()); 
      selection.setFill(null); // transparent 
      selection.setStroke(Color.BLACK); // border 
     root.getChildren().add(selection); 
        }); 
     img. setOnMouseDragged((MouseEvent event) -> 
      { 
      selection.setWidth(Math.abs(event.getX() - anchor.getX())); 
      selection.setHeight(Math.abs(event.getY() - anchor.getY())); 
      selection.setX(Math.min(anchor.getX(), event.getX())); 
      selection.setY(Math.min(anchor.getY(), event.getY())); 
      }); 
     img. setOnMouseReleased((MouseEvent event) ->{ 

       System.out.printf("X: %.2f, Y: %.2f, Width: %.2f, Height: %.2f%n", 
        selection.getX(), selection.getY(), selection.getWidth(), selection.getHeight()); 
      root.getChildren().remove(selection); 
      selection.setWidth(0); 
      selection.setHeight(0); 
     }); 

     img.addEventFilter(KeyEvent.KEY_RELEASED, (KeyEvent e) -> { 
      if (e.getCode() == KeyCode.SPACE) { 
      PixelReader reader = img.getPixelReader(); 
    WritableImage newImage = new WritableImage(reader, X, Y, Width,Height); 
      } 
      }); 
     img.addEventFilter(KeyEvent.KEY_RELEASED, (KeyEvent e) -> { 
      if (e.getCode() == KeyCode.ADD || e.getCode() == KeyCode.EQUALS || e.getCode() == KeyCode.PLUS) { 
       System.out.println("YES"); 
       img.setZoom(img.getZoom() * 1.1); 
      } else if (e.getCode() == KeyCode.SUBTRACT || e.getCode() == KeyCode.MINUS) { 
       System.out.println("YES"); 
       img.setZoom(img.getZoom()/1.1); 
      } 
     }); 
     vbox.getChildren().addAll(img); 
     // create a vbox that grows horizontally inside the hbox 
     VBox vbox2 = new VBox(); 
     final WebView browser = new WebView(); 
     final WebEngine wb2 = browser.getEngine(); 
     final WebView browser1 = new WebView(); 
     final WebEngine wb1 = browser1.getEngine(); 
     wb1.getLoadWorker().stateProperty() 
       .addListener(new ChangeListener<Worker.State>() { 
        @Override 
        public void changed(ObservableValue ov, State oldState, State newState) { 
         if (newState == Worker.State.SCHEDULED) { 
          primaryStage.setTitle(wb1.getLocation()); 
          String trgurl = wb1.getLocation(); 
          System.out.println(trgurl); 
          Platform.runLater(() -> { 
           final WebEngine wb1 = browser1.getEngine(); 
           if (wb1.getLocation().contains("img")) { 
            System.out.println("BrowserPane.ChangeListener cancelling " + wb1.getLocation()); 
            wb1.getLoadWorker().cancel(); 
            if (trgurl.matches("(.*)img=(.*)")) { 
             int n = trgurl.indexOf("img="); 
             //String str1 = Integer.toString(n); 
             System.out.println(n + 4); 
             int len = trgurl.length(); 
             System.out.println("string length is: " + trgurl.length()); 
             System.out.println(trgurl.substring(n + 4, len)); 
             String find = "file:" + trgurl.substring(n + 4, len); 
             System.out.println(find); 
             Img.load(find); 


             if (trgurl.matches("(.*)target=wb2(.*)")) { 
              int n1 = trgurl.indexOf("target=wb2"); 
              String str1 = Integer.toString(n1 + 10); 
              System.out.println(n1 + 10); 
              System.out.println(trgurl.substring(0, n1 + 10)); 
              String find1 = "" + trgurl.substring(0, n1 + 10); 
              System.out.println(find1); 
              // boolean cancel(); 
              wb2.load(find1); 

             } 
            } 

           } 
          }); 
         } 

         if (browser1.getEngine().getLoadWorker().getState() == Worker.State.SUCCEEDED) { 
          if (wb1.getLocation().contains("noob=1&noshell=1&ini=")) { 
           JOptionPane.showMessageDialog(null, "got " + wb1.getLocation()); 
           int n4 = wb1.getLocation().indexOf("ini="); 
           String str4 = Integer.toString(n4 + 4); 
           System.out.println(n4 + 4); 
           int n5 = wb1.getLocation().indexOf("&output_format=html"); 
           String str5 = Integer.toString(n5 + 19); 
           System.out.println(n5 + 19); 
           String find4 = wb1.getLocation().substring(n4 + 4, n5); 
           System.out.println(find4); 
           String html = (String) wb1.executeScript("document.documentElement.innerText"); 
           try { 
            System.out.write(html.getBytes(StandardCharsets.UTF_8)); 
           } catch (IOException ex) { 
            Logger.getLogger(HV.class.getName()).log(Level.SEVERE, null, ex); 
           } 
           String html1 = html.replace('|', '\n'); 
           System.out.println(html1); 
           String h1 = html1.replaceAll("\n", "\r\n"); 
           // System.out.println(html1); 
           String Path = "C:/temp"; 
           Path = Path + "/"; 
           File newFile = new File(Path + find4 + ".ini"); 

           try { 
            newFile.createNewFile(); 
            if (newFile.exists()) { 
             newFile.delete(); 

            } 
            try (FileWriter writer = new FileWriter(newFile, true)) { 
             writer.write(h1); 
             writer.flush(); 
             writer.close(); 
            } catch (IOException ex) { 
             Logger.getLogger(HV.class.getName()).log(Level.SEVERE, null, ex); 
            } 
           } catch (IOException ex) { 
            Logger.getLogger(HV.class.getName()).log(Level.SEVERE, null, ex); 
           } 

           if (html.contains("date_data_path=")) { 
            int n6 = html.indexOf("date_data_path="); 
            String str6 = Integer.toString(n6 + 15); 
            System.out.println(n6 + 15); 
            int len1 = html.length(); 
            System.out.println("string length is: " + html.length()); 
            String find2 = html.substring(n6 + 15, len1 - 1); 
            System.out.println(find2); 
            String pathname = "C:"; 
            String cuts = "cuts"; 
            pathname += find2 + "/" + cuts; 
            System.out.println(pathname); 
            File directory = new File(pathname); 
            if (!directory.exists()) { 
             directory.mkdirs(); 
            } 
            String pathname1 = "C:"; 
            String db = "db"; 
            pathname1 += find2 + "/" + db; 
            System.out.println(pathname1); 
            File directory1 = new File(pathname1); 
            if (!directory1.exists()) { 
             directory1.mkdirs(); 
            } 
            String pathname2 = "C:"; 
            String ocr = "ocr"; 
            pathname2 += find2 + "/" + ocr; 
            System.out.println(pathname2); 
            File directory2 = new File(pathname2); 
            if (!directory2.exists()) { 
             directory2.mkdirs(); 
            } 
            String pathname3 = "C:"; 
            String output = "output"; 
            pathname3 += find2 + "/" + output; 
            System.out.println(pathname3); 
            File directory3 = new File(pathname3); 
            if (!directory3.exists()) { 
             directory3.mkdirs(); 
            } 
            String pathname4 = "C:"; 
            String scans = "scans"; 
            pathname4 += find2 + "/" + scans; 
            System.out.println(pathname4); 
            File directory4 = new File(pathname4); 
            if (!directory4.exists()) { 
             directory4.mkdirs(); 
            } 
            /* img.setOnKeyPressed((KeyEvent event) -> { 
      if (event.getCode() == KeyCode.F5) { 
       System.out.println("F5 PRESSED"); 
      File f = new File("pathname:\\Output.jpg"); 
       // RenderedImage image = null; 
       try { 
        ImageIO.write(f); 
       } catch (IOException ex) { 
        Logger.getLogger(HV.class.getName()).log(Level.SEVERE, null, ex); 
       } 
      } 
     });*/ 
           } 
          } 

         } 

        } 

       }); 

     wb1.load("http://192.168.2.18/a3/host/pmms.ankiti.com/"); 
     // String url = "https://eclipse.org"; 
     // Load a page from remote url. 
     // webEngine.load(url); 

     vbox2.setPadding(new Insets(3)); 
     vbox2.setSpacing(3); 
     vbox2.getChildren().addAll(browser1, browser); 

     HBox.setHgrow(vbox2, Priority.ALWAYS); 

     hbox.setPadding(new Insets(20)); 
//  StackPane.setMargin(hbox, new Insets(20)); 

     hbox.getChildren().addAll(vbox, vbox2); 
     root.getChildren().add(hbox); 
     Scene scene = new Scene(root, 300, 200); // the stack pane is the root node 
     //scene.setCursor(Cursor.CROSSHAIR); 

     primaryStage.setScene(scene); 
     primaryStage.show(); 

    } 

    public static void main(String[] args) { 
     Application.launch(args); 

    } 
} 

et son fonctionnement correctement, mais le problème est la scène est la sélection complète je veux seulement sur une case Vbox comment puis-je faire journal des erreurs

run: 
    http://192.168.2.18/a3/host/pmms.ankiti.com/ 
    http://192.168.2.18/a3/host/pmms.ankiti.com/?module=login&do=login 
    http://192.168.2.18/a3/host/pmms.ankiti.com/?module=mm-pm-workdate 
    http://192.168.2.18/a3/host/pmms.ankiti.com/?module=mm-pm-workdate 
    http://192.168.2.18/a3/host/pmms.ankiti.com/?module=mm-pm-ini&noob=1&noshell=1&ini=rajveersingh&output_format=html 
    83 
    114 
    rajveersingh 
    |[server]||[app]|host_name=pmms.ankiti.com|ns=|session_name=pmms_ankiti_com|lang=en||[portal]|host_name=mms.ankiti.com|ns=|locale=en|domain=pmms.ankiti.com|ent_id=|app=mm-pmms|sec_ns=ankiti|sec_conf=sec-staff-lgc|sec_permissions=mms.ankiti.com|locales=mmstech|[email protected]|email_name=Press Monitor|[email protected]||[shell]|id=wssoj75f2|host_name=pmms.ankiti.com|domain=ankiti.com|ent_id=|locale=|head= |header_bar= 

    MMS Print 

    |header_brand=|header_menu=|footer_bar=|footer_brand=|footer_menu=|change_at=2017-07-04 03:38:25||[user]|id=7f701032821e1e4d69cfcf7ee|ns=ankiti|ent_id=ank-1|code=mm-dc-rajveer|name=Rajveer verma|[email protected]|password=$2y$10$b8SLaZYPW/XAZWHWgaVg0.aL4L6sxgmpEnZrOLsGiC3hQu/22xR/m|password_old=*AAD9BAB0626ADA4743CC7582CC20E992C509D43|phone=9990367022|status=|status_remark=|permissions=mms.ankiti.com|created_at=2016-08-14 04:47:47|login_at=2017-10-25 11:00:02|change_at=2017-06-07 14:23:13|logout=`sec_loggedinas Rajveer verma `sec_logout||[pm]|work_date=2017-10-25|work_till=2017-10-25 23:59:59|work_from=2017-10-25 00:00:00|ns=pmin|centre=delhi|ymd=20171025|bar=PM Workdate: 2017-10-25 NS: pmin From: 2017-10-25 00:00:00 Till: 2017-10-25 23:59:59||[pml]|work_date_long=Wednesday, 25th October 2017|work_date=2017-10-25|year_data_dir=//192.168.2.18/pm8/data/pmin/2017|month_data_dir=//192.168.2.18/pm8/data/pmin/2017/201710|date_data_dir=//192.168.2.18/pm8/data/pmin/2017/201710/20171025|date_data_path=/sata1/pm8/data/pmin/2017/201710/20171025| 
    [server] 

    [app] 
    host_name=pmms.ankiti.com 
    ns= 
    session_name=pmms_ankiti_com 
    lang=en 

    [portal] 
    host_name=mms.ankiti.com 
    ns= 
    locale=en 
    domain=pmms.ankiti.com 
    ent_id= 
    app=mm-pmms 
    sec_ns=ankiti 
    sec_conf=sec-staff-lgc 
    sec_permissions=mms.ankiti.com 
    locales=mmstech 
    [email protected] 
    email_name=Press Monitor 
    [email protected] 

    [shell] 
    id=wssoj75f2 
    host_name=pmms.ankiti.com 
    domain=ankiti.com 
    ent_id= 
    locale= 
    head= 
    header_bar= 

    MMS Print 


    header_brand= 
    header_menu= 
    footer_bar= 
    footer_brand= 
    footer_menu= 
    change_at=2017-07-04 03:38:25 

    [user] 
    id=7f701032821e1e4d69cfcf7ee 
    ns=ankiti 
    ent_id=ank-1 
    code=mm-dc-rajveer 
    name=Rajveer verma 
    [email protected] 
    password=$2y$10$b8SLaZYPW/XAZWHWgaVg0.aL4L6sxgmpEnZrOLsGiC3hQu/22xR/m 
    password_old=*AAD9BAB0626ADA4743CC7582CC20E992C509D43 
    phone=9990367022 
    status= 
    status_remark= 
    permissions=mms.ankiti.com 
    created_at=2016-08-14 04:47:47 
    login_at=2017-10-25 11:00:02 
    change_at=2017-06-07 14:23:13 
    logout=`sec_loggedinas Rajveer verma `sec_logout 

    [pm] 
    work_date=2017-10-25 
    work_till=2017-10-25 23:59:59 
    work_from=2017-10-25 00:00:00 
    ns=pmin 
    centre=delhi 
    ymd=20171025 
    bar=PM Workdate: 2017-10-25 NS: pmin From: 2017-10-25 00:00:00 Till: 2017-10-25 23:59:59 

    [pml] 
    work_date_long=Wednesday, 25th October 2017 
    work_date=2017-10-25 
    year_data_dir=//192.168.2.18/pm8/data/pmin/2017 
    month_data_dir=//192.168.2.18/pm8/data/pmin/2017/201710 
    date_data_dir=//192.168.2.18/pm8/data/pmin/2017/201710/20171025 
    date_data_path=/sata1/pm8/data/pmin/2017/201710/20171025 

    1482 
    string length is: 1524 
    /sata1/pm8/data/pmin/2017/201710/20171025 
    C:/sata1/pm8/data/pmin/2017/201710/20171025/cuts 
    C:/sata1/pm8/data/pmin/2017/201710/20171025/db 
    C:/sata1/pm8/data/pmin/2017/201710/20171025/ocr 
    C:/sata1/pm8/data/pmin/2017/201710/20171025/output 
    C:/sata1/pm8/data/pmin/2017/201710/20171025/scans 
    http://192.168.2.18/a3/host/pmms.ankiti.com/?module=home&ini=rajveersingh 
    http://192.168.2.18/a3/host/pmms.ankiti.com/?win=IBB&module=mm-pm-headlines 
    http://192.168.2.18/a3/host/pmms.ankiti.com/?module=mm-pm-headlines&do=subject&subject_uid=Z10 
    http://192.168.2.18/a3/host/pmms.ankiti.com/?module=mm-pm-edit&clip_id=11.2017-10-25.122&target=wb2&notb=1&img=//192.168.2.18/pm8/data/pmin/2017/201710/20171025/cuts/1318.jpg 
    BrowserPane.ChangeListener cancelling http://192.168.2.18/a3/host/pmms.ankiti.com/?module=mm-pm-edit&clip_id=11.2017-10-25.122&target=wb2&notb=1&img=//192.168.2.18/pm8/data/pmin/2017/201710/20171025/cuts/1318.jpg 
    111 
    string length is: 174 
    //192.168.2.18/pm8/data/pmin/2017/201710/20171025/cuts/1318.jpg 
    file://192.168.2.18/pm8/data/pmin/2017/201710/20171025/cuts/1318.jpg 
    99 
    http://192.168.2.18/a3/host/pmms.ankiti.com/?module=mm-pm-edit&clip_id=11.2017-10-25.122&target=wb2 
    http://192.168.2.18/a3/host/pmms.ankiti.com/?module=mm-pm-edit&clip_id=11.2017-10-25.122&target=wb2 
    Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: Children: duplicate children added: parent = [email protected][styleClass=root] 
    X: 171.00, Y: 125.00, Width: 242.00, Height: 134.00 
    X: 409.00, Y: 259.00, Width: 0.00, Height: 0.00 
at javafx.scene.Parent$2.onProposedChange(Parent.java:454) 
at com.sun.javafx.collections.VetoableListDecorator.add(VetoableListDecorator.java:206) 
at verticalseperator.HV.lambda$start$0(HV.java:94) 
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) 
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) 
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) 
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) 
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) 
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) 
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) 
at javafx.event.Event.fireEvent(Event.java:198) 
at javafx.scene.Scene$MouseHandler.process(Scene.java:3757) 
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485) 
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762) 
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494) 
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:381) 
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295) 
at java.security.AccessController.doPrivileged(Native Method) 
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354(GlassViewEventHandler.java:417) 
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389) 
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:416) 
at com.sun.glass.ui.View.handleMouseEvent(View.java:555) 
at com.sun.glass.ui.View.notifyMouse(View.java:937) 
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) 
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191) 
at java.lang.Thread.run(Thread.java:748) 

c'est l'erreur que je reçois tout sélection. Etes-vous sûr de définir le gestionnaire d'événements correctement?

+0

S'il vous plaît poster votre erreur complète – Developer66

+0

j'avais mis à jour mon journal des erreurs son assez grand. –

+0

Votre question et le code ne semble pas lié. Vous avez demandé une sélection de région dans image par événement de souris et recadrez-la par événement de clé, mais dans votre code, vous écoutez simplement un événement de souris et imprimez les valeurs de coordonnées actuelles. Et pour écouter les événements de la souris, vous devez créer un gestionnaire avec le paramètre 'MouseEvent'. Et pourquoi vous utilisez deux méthodes de poignée? Utilisez simplement celui qui a été remplacé. –

Répondre

0

Si vous regardez la signature de la méthode setOnMousePressed (here), vous verrez que vous ne spécifiez pas le type d'événement d'entrée.

En général, le gestionnaire d'événements doit être ajouté comme ceci:

img.setOnMousePressed(new EventHandler<MouseEvent>() { 
    @Override 
    public void handle(MouseEvent event) { 
     System.out.println("X: " + event.getX() + " Y: " + event.getY()); 
    } 
}); 
+0

comme en définissant le gestionnaire d'événements comme ceci im obtenant l'heure de compilation erreur type de type argument mouse mouse n'est pas dans les limites de type variable t. –

+0

et mais en ajoutant seulement l'événement pressé de souris je ne pense pas qu'il est possible de sélectionner une zone dans l'image mousedragged et la souris relaese devrait être utiliser pouvez-vous m'aider comment cela –

+0

Il devrait y avoir aucune erreur de compilateur.S'il vous plaît mettre à jour votre question avec un exemple plus complet qui contient toutes les importations –

0

obtenir les coordonnées de ce

private int x,y,w,h; 

    public void getCordinates() { 
     img.setOnMousePressed(new EventHandler<MouseEvent>() { 
      @Override 
      public void handle(MouseEvent event) { 
       x = (int) event.getX(); 
       y = (int) event.getY(); 
      } 
     }); 

     img.setOnMouseReleased(new EventHandler<MouseEvent>() { 
      @Override 
      public void handle(MouseEvent event) { 
       w = (int) (event.getX() - x); 
       h = (int) (event.getY() - y); 
      } 
     }); 
    } 

Et puis obtenir l'image recadrée en ajoutant cette ligne vous écouteur d'action clé de l'espace

PixelReader reader = srcImage.getPixelReader(); 
    WritableImage newImage = new WritableImage(reader, x, y, w, h); 

Ici srcImage est l'image à partir de laquelle vous avez été t pour sélectionner la région, remplacez-la par l'image que vous avez chargée dans votre code. Et newImage est l'image recadrée

+0

thnks @IR mais en ajoutant cela mon auditeur clé aussi arrêter de travailler. S'il vous plaît dites-moi le problème. ceci est une exception Exception dans le fil "fil d'application JavaFX" java.lang.ExceptionInInitializerError \t à verticalseperator.HV.lambda $ start $ 0 (HV.java:83) –

+0

Cela ressemble à une exception d'initialisation qui est dans la ligne numéro 83 de HV .Java. Et je n'ai aucune idée de ce que vous avez écrit dans cette ligne. Je ne sais pas comment vous aider @ Narendra.kr. –

+0

img.setOnMousePressed ((événement MouseEvent) -> { int x = (int) événement.getX(); int y = (int) événement.getY(); }); C'est sur 81, 82,83 ligne –