IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaFX Discussion :

Style Css et java fx


Sujet :

JavaFX

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2018
    Messages : 4
    Par défaut Style Css et java fx
    Bonjour à tous,
    J'ai un projet pour les cours qui est le quoridor et je suis en train de faire le style css je suis aussi débutant dans le domaine de fx
    Donc j'ai plusieurs questions
    La première je voudrais pouvoir customiser un objet caseGraphique héritant de l'objet region. Je voudrais pouvoir mettre des murs dans mes cases et des pion. Mais je n'y arrive pas j'ai la bordure complète alors qu'il me faut un bout des 4 voici mon code css.
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    .region{
        -fx-background-color: darkslateblue;
        -fx-inner-border-horizontal:blue;
     
     
     
    }
     
    .regionIa{
        -fx-background-color: yellowgreen;
        -fx-background-radius: 100em;
        -fx-background-insets: 5;
     
     
    }
    .regionUser{
     
        -fx-background-radius: 100em;
        -fx-background-color: black;
        -fx-background-insets: 5;
     
    }
    .regionMurh{
        -fx-top-border-color: linear-gradient(from 0% 0% to 0% 100%, #38528B 10%, black 10%);
        -fx-border-inset: 30;
     
    }

    Ma deuxième question
    Je voudrais implemrner un listenner qui m'avertit quand je change de selecteur css. Car je n'ai que 2 pion pour le moment et je ne voudrais que quand je déplace mon pion la case ou il était redevienne normal. J'ai déja un listener qui m'avertit d'un click droit ou gauche voici comment je l'ai implementé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    public class FXMLPlateauController implements Initializable {
     
        /**
         * Initializes the controller class.
         */
        @FXML
        private GridPane gridPane;
     
     
     
        private MapProperty<Point,Case> map;
        private Graphe g;
        private Jeux jeux;
        private ObjectProperty<GridPane> selectedRegion = new SimpleObjectProperty<>();
        @Override
     
        public void initialize(URL url, ResourceBundle rb) {
          jeux= Jeux.getInstance();
     
     
           g= jeux.getG();
     
            for(int i =0 ;i<gridPane.getColumnConstraints().size();i++){
                for(int j = 0 ;j<gridPane.getRowConstraints().size();j++){
                    addCase(i, j);
                }
            }
     
        }    
     
         private void addCase(int colIndex, int rowIndex) {
            CaseGraphique caseGraphique = new CaseGraphique("region");
            caseGraphique.setOnMouseClicked(e -> {
                 if (e.isPopupTrigger()) {
                        System.out.println("Click droit");
                        System.out.printf("Mouse enetered cell [%d, %d]%n", colIndex, rowIndex);
                        caseGraphique.setSkinCase("regionIa");
     
     
                    }
                    else {
                        System.out.println("click gauche");
                        System.out.printf("Mouse enetered cell [%d, %d]%n", colIndex, rowIndex);
                        caseGraphique.setSkinCase("regionMurh");
                    }
     
     
            });
            gridPane.add(caseGraphique, colIndex, adaptationDonneesGridPaneAvecGraphe(rowIndex));
        }
         public int adaptationDonneesGridPaneAvecGraphe(int y){
             int resultat = 0;
     
            switch (y) {
                case 0:
                    return resultat=8;
                case 1:
                    return resultat=7;
                case 2:
                    return resultat=6;
                case 3:
                    return resultat=5;
                case 4:
                    return resultat=4;
                case 5:
                    return resultat=3;
                case 6:
                    return resultat=2;
                case 7:
                    return resultat=1;
                case 8:
                    return resultat=0;
                default:
                    break;
            }
             return resultat;
         }
    }
    Vos idée serais les bienvenue

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 900
    Billets dans le blog
    54
    Par défaut
    Si c'est pas la même question, faire 2 sujet séparés SVP !

    Bon deja -fx-top-border-color ca n'existe pas.

    Si tu lis la doc CSS (et si tu fais des tests) pour -fx-region-border tu verras que si tu ne spécifie qu'une seule couleur, c'est la même couleur pour les 4 bords de la région. Sinon il faut spécifier 4 couleurs sépares par des espaces ce qui donnera la couleur des bords haut (top), droit (right), bas (bottom) et gauche (left). Tu peux donc utiliser la valeur null ou transparent pour les murs non-affiches (attention avec null dans certains cas ca peut faire un remplissage noir).

    Et tu peux aussi spécifier plusieurs bordures en separant chaque bordure par une virgule.

    De manière similaire, tu peux utiliser une seule couleur mais spécifier des épaisseurs de bordure différentes via -fx-border-width pour chacun des 4 cotes (1 seul nombre = les 4 bordures avec la meme epaisseur, 4 nombres = chaque bordure a son épaisseur). Donc si tu as un des cotes avec une épaisseur de 0px, 0em ou autre et ben il s'affichera pas.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2017
    Messages : 8
    Par défaut
    Quand on applique un style à un objet Region (ou presque n'importe quel autre objet JavaFX), on peut utiliser la méthode setStyle(). La question que je me pose (et qui complète peut-être la sienne), c'est est-ce qu'on peut (au lieu d'écrire tout en dur dans une String que l'on passe à setStyle) lui dire d'appliquer les styles (que ce soit 1, 2 ou 10 lignes) d'un sélecteur entier du fichier .CSS à tel ou tel objet JavaFX ?

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 900
    Billets dans le blog
    54
    Par défaut
    Tu peux utiliser des CSS externes attachés à la scène, des CSS externes attachés à la région, un CSS par défaut, des pseudo-classes CSS, le(s) style(s) de classe CSS, le style en ligne, les propriétés de l'objet FX, etc.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2017
    Messages : 8
    Par défaut
    Citation Envoyé par bouye Voir le message
    Tu peux utiliser des CSS externes attachés à la scène, des CSS externes attachés à la région, un CSS par défaut, des pseudo-classes CSS, le(s) style(s) de classe CSS, le style en ligne, les propriétés de l'objet FX, etc.
    Ok donc pas d'équivalent tout simple à un genre de setStyleSelector("styleRegion", "./fichier.css"); où "styleRegion" serait un sélecteur du fichier.css.

    Merci ! Au pire je la coderai moi-même.

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 900
    Billets dans le blog
    54
    Par défaut
    Pas directement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    getStyleClass().add("styleRegion");
    getStyleSheets().add(getClass().getResource("./fichier.css").toExternalForm());
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. Obtenir le style CSS d'un objet
    Par Sub0 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/08/2005, 15h46
  2. Conflit dans les styles CSS
    Par Nerva dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 14/03/2005, 22h56
  3. Comment appliquer un style CSS ?
    Par adameteve dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 10/03/2005, 21h52
  4. [Swing]Style de Fenetre Java
    Par Voxdei dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 14/07/2004, 22h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo