Pegar data selecionada no DatePicker JavaFX

Como posso pegar uma data que foi selecionada no DatePicker do JavaFX e armazena-la em uma variavel?

import java.time.Instant;
import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.control.Button; 
import javafx.scene.layout.*; 
import javafx.scene.control.*; 
import javafx.stage.Stage; 
 
import java.time.LocalDate; 
import java.time.ZoneId;
import java.util.Date;

public class DatePic extends Application { 
  
     
    public void start(Stage s)  { 
        
        s.setTitle("DatePicker");   
         
        TilePane r = new TilePane();   
         
        DatePicker d = new DatePicker(); 
  
        r.getChildren().add(d); 
        


        // por evento quando acontece alteracao
       d.valueProperty().addListener((ov, oldValue, newValue) -> {
           String ss = d.getEditor().getText();
           System.out.println("Por Evento -> Como texto = " + ss );
        
           LocalDate localDate = d.getValue();
          Instant instant = Instant.from(localDate.atStartOfDay(ZoneId.systemDefault()));
          Date date = Date.from(instant);
          System.out.println("Por Evento ->" + localDate + "\n" + instant + "\n" + date); 
        });



        Button b = new Button("Mostra Data");
        b.setOnAction( (e) -> { 
            String ss = d.getEditor().getText();
            System.out.println("Como texto = " + ss );
            
            LocalDate localDate = d.getValue();
            Instant instant = Instant.from(localDate.atStartOfDay(ZoneId.systemDefault()));
            Date date = Date.from(instant);
            System.out.println(localDate + "\n" + instant + "\n" + date);                
        } );
        
        r.getChildren().add(b); 
        
         
        Scene sc = new Scene(r, 200, 200); 
  
         
        s.setScene(sc); 
  
        s.show(); 
    } 
  
    public static void main(String args[])  { 
         
        launch(args); 
    } 
}

Resolveu. Vlw!

1 curtida