微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ImageView JavaFx 中的标记

如何解决ImageView JavaFx 中的标记

我需要这个代码解决方案,当我在地图上的任何地方点击时,出现一个黑色标记,它是我的位置,橙色标记是附近的点和我的标记,但我需要在间隔处出现橙色标记1-10 秒,而不是立即出现橙色标记,我尝试使用 sleep 但它不起作用。请帮我。 示例:

Map with markers


    /**
     * Initializes the controller class.
     */
    @Override
    public void initialize(URL url,ResourceBundle rb) {
        // Todo
    }    
    static double coordenadaX;
    static double coordenadaY;
    
    @FXML
    private Pane panel;
    @FXML
    private Label mensajeNotificador;
    @FXML
    private Button regisTrador;
    @FXML
    private Button cerrar ;
    
    @FXML
    void mostrarPositivos(MouseEvent event){
        panel.getChildren().clear();
//        Stage s = (Stage) cerrar.getScene().getwindow();
//        s.close();        
    coordenadaX=event.getX();
    coordenadaY=event.getY();    
    try(FileInputStream input = new FileInputStream(Principal.pathImage + "marcadorMouse.png")){
            ImageView contenedor = new ImageView();
            Image marcadorUsuario = new Image(input,20,false,false);
            contenedor.setimage(marcadorUsuario);
            contenedor.setLayoutX(coordenadaX);
            contenedor.setLayoutY(coordenadaY);
            panel.getChildren().add(contenedor);
            StartTack();
        }catch(IOException ex){
            System.out.println("no se ha podido leer el archivo");
        }
        
    }
    
    @FXML
    void cerrando(ActionEvent event){
        Stage ventana = (Stage) cerrar.getScene().getwindow();
        ventana.close();          
    }
        public void StartTack(){
        Thread th=new Thread(new Runnable(){
            @Override
            public void run() {
                RunTask();
                
            }
            
        });
        th.setDaemon(true);
        th.start();
    }
    public void RunTask(){
        
        for(Punto p: Punto.leerAchivotxtPuntos() ){
            Platform.runLater(new Runnable(){
            @Override
            public void run() {
                Punto p2=new Punto(coordenadaX,coordenadaY);
                if(p.distancia(p2)){
                    try(FileInputStream input = new FileInputStream(Principal.pathImage + "marcadorPositivos.png")){
                        ImageView contenedor = new ImageView();
                        Image marcadorUsuario = new Image(input,false);
                        contenedor.setimage(marcadorUsuario);
                        contenedor.setLayoutX(p.getCoordenadasX());
                        contenedor.setLayoutY(p.getCoordenadasY());
                        panel.getChildren().add(contenedor);
                        
                    }catch(IOException ex){
                        System.out.println("no se ha podido leer el archivo");
                    }
                }
            }
            
        });
        }
        try {
            Thread.sleep(1000);
        } catch (InterruptedException ex) {
            ex.printstacktrace();
        }
       
    }
}```

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。