FAQ JavaFXConsultez toutes les FAQ

Nombre d'auteurs : 4, nombre de questions : 507, dernière mise à jour : 2 novembre 2016  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions fréquemment posées sur le forum JavaFX de http://java.developpez.com ainsi que l'expérience personnelle des auteurs.

Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.

Sur ce, nous vous souhaitons une bonne lecture.


SommaireSceneGraphInterface utilisateurContrôlesContrôles virtualisésDatePicker (2)
précédent sommaire suivant
 

À partir du JDK 8, pour créer un sélecteur de dates, il faut instancier un objet de type javafx.scene.control.DatePicker. La propriété value de la classe ColorPicker permet de spécifier la date actuellement sélectionnée en lui donnant comme valeur une instance de la classe java.time.LocalDate.

Par exemple :

Code Java : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Main extends Application { 
  
    @Override 
    public void start(Stage primaryStage) { 
        final DatePicker datePicker = new DatePicker(); 
        datePicker.setValue(LocalDate.MIN); 
        final StackPane root = new StackPane(); 
        root.getChildren().add(datePicker); 
        final Scene scene = new Scene(root, 300, 250); 
        primaryStage.setTitle("Test du sélecteur de dates"); 
        primaryStage.setScene(scene); 
        primaryStage.show(); 
    } 
  
    public static void main(String[] args) { 
        launch(args); 
    } 
}

Ce qui nous donne :



Le sélecteur de dates se présente sous la forme d'une boite déroulante au contenu éditable. Un menu présentant un calendrier s'affiche lorsqu’on déroule la boite.

Mis à jour le 8 octobre 2014 bouye

Le sélecteur de dates utilise également l'API Cell pour construire le calendrier dans le menu surgissant. Nous pouvons donc spécifier dans la propriété dayCellFactory de la classe DatePicker une fabrique à cellules qui retournera des instances de la classe javafx.scene.control.DateCell.

Code Java : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
datePicker.setDayCellFactory(new Callback<DatePicker, DateCell>() { 
  
    @Override 
    public DateCell call(DatePicker dp) { 
        return new DateCell() { 
            @Override 
            public void updateItem(LocalDate item, boolean empty) { 
                super.updateItem(item, empty); 
                if (item.equals(LocalDate.now().plusDays(1))) { 
                    setTooltip(new Tooltip("Demain !")); 
                    setStyle("-fx-background-color: cyan;"); 
                } 
            } 
        }; 
    } 
});

Ou :

Code Java : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
datePicker.setDayCellFactory(dp -> new DateCell() { 
    @Override 
    public void updateItem(LocalDate item, boolean empty) { 
        super.updateItem(item, empty); 
        if (item.equals(LocalDate.now().plusDays(1))) { 
            setTooltip(new Tooltip("Demain !")); 
            setStyle("-fx-background-color: cyan;"); 
        } 
    } 
});

Ce qui nous donne :



Ici, nous avons affiché la case qui représente la date au jour de demain en cyan et nous lui avons affecté une infobulle.

Mis à jour le 8 octobre 2014 bouye

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Responsables bénévoles de la rubrique Java : Mickael Baron - Robin56 -