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

Java Discussion :

Fichier de configuration


Sujet :

Java

  1. #1
    Membre du Club
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Points : 60
    Points
    60
    Par défaut Fichier de configuration
    Bonjour,

    Je viens vers vous car je ne sait pas par ou commencer.

    J'ai definis dans mon code des touche clavier par "default" pour effectue certaine action dans une class qui implements NativeKeyListener:



    exemple : F12 je quitte l'appli, F8 me change un paramettre, la touche R clavier me remet un compteur a zero....



    Ce que je souhaiterai faire, ces laisse le choix a l'utilisateur la configuration des touches via un fichier .txt, .gson... externe.



    Je vous remercie


    Cordialement


    Fred

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2018
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2018
    Messages : 80
    Points : 119
    Points
    119
    Par défaut
    Bonjour,

    Pourquoi ne pas réaliser ceci directement dans ton app ? Votre utilisateur pourra ainsi paramétrer ses touches.
    En résultat, votre app va stocker ces informations dans un fichier properties, txt, csv... que votre utilisateur peut modifier si besoin.

    Bonne journée

  3. #3
    Membre du Club
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    Merci de votre reponse,

    L.idee ma traverse l.esprit mais j.ai une petite interface graphique sur mon appli et surtout je ne sais pas comment faire. (J.ai un petit niveau en java).

    Alors que charge un fichier json avec des parametre je sais faire.

    D.ailleur j.ai travaille sur mon application aujourdhui.

    J.ai reussi a faire mon fichier de paramettre mais je suis bloque sur une chose....

    Par exemple j.ai fait ceci dans une class :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (e.getKeyCode () == compteurazero){
    Compteur = 0;}
    Ensuite via a mon fichier config je determine "compteurazero.

    Ca fonctionne parfaitement.

    Le seule soucis c.est que je n.arrive pas a mettre la lettre correspondante a la touche clavier, je doit mettre le numeraire.

    Exemple si je veux que la lettre "S" remette mon compteur a zero je doit mettre "31" dans mon fichier de configuration. Je me vois mal mettre en legende tout les code correspondant au lettre.

    N.y a t.il pas une formule qui converti la lettre en chiffre ?

    Merci


    Fred

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Tu peux regarder du côté de la classe KeyStroke :
    https://docs.oracle.com/javase/7/doc...KeyStroke.html

    Sinon comment tu poses ton keyhandler ?
    On dirait que tu en poses un global qui gère toutes les touches.
    Il serait probablement plus simple d'un faire un par touche...

  5. #5
    Membre du Club
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Points : 60
    Points
    60
    Par défaut
    Bonjour,


    Merci pour votre réponse mais je ne pense pas trouve la solution avec ceci ou j'ai mal compris le keystroke.

    Je pense surtout m'etre mal explique dès le début.

    voici ma class keylistener :

    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
    public class KeyBoardListener implements NativeKeyListener {
     
     
     
     
     
      public void nativeKeyTyped(NativeKeyEvent e) {
      }
      public void nativeKeyPressed(NativeKeyEvent e) {
     
        if (e.getKeyCode() == NativeKeyEvent.VC_F10) {
          Main.enable = Main.enable.next();
        }
     
        if (e.getKeyCode() == NativeKeyEvent.VC_F7) {
          Main.fire = Main.fire.next();
        }
     
        if (e.getKeyCode() == NativeKeyEvent.VC_1) {
          ConfigManager1.getInstance1().cycleConfigs();
        }
     
        if (e.getKeyCode() == NativeKeyEvent.VC_F5) {
          Main.choix = Main.choix.next();
        }
     
        if (e.getKeyCode() == NativeKeyEvent.VC_2) {
          ConfigManager2.getInstance2().cycleConfigs();
        }
     
        if (e.getKeyCode() == NativeKeyEvent.VC_F6) {
          switch(Main.choix) {
            case CHOIX1:
              Main.memoireChoix.put(ConfigManager1.getInstance1().getCurrentConfig(), Main.choix);
              break;
            case CHOIX2:
              Main.memoireChoix.put(ConfigManager2.getInstance2().getCurrentConfig(), Main.choix);
          }
     
          Main.choix = Main.choix.next();
          switch(Main.choix) {
            case CHOIX1:
              Main.choix = Main.memoireChoix.getOrDefault(ConfigManager1.getInstance1().getCurrentConfig(), Main.Choix.CHOIX1);
              break;
            case CHOIX2:
              Main.choix = Main.memoireChoix.getOrDefault(ConfigManager2.getInstance2().getCurrentConfig(), Main.Choix.CHOIX1);
          }
        }
     
        if (e.getKeyCode() == NativeKeyEvent.VC_F9) {
          Main.size = Main.size.next();
        }
     
        if (e.getKeyCode() == NativeKeyEvent.VC_F8) {
          Main.Overlay = !Main.Overlay;
        }
     
        if (e.getKeyCode() == NativeKeyEvent.VC_F12) {
          try {
            GlobalScreen.unregisterNativeHook();
            Main.rightClick = false;
            Main.leftclick = false;
            MouseListener.executorService.shutdown();
            System.exit(1);
          } catch (NativeHookException e1) {
            e1.printStackTrace();
          }
        }
      }
      public void nativeKeyReleased(NativeKeyEvent e) {
      }
    }
    cette class fait tout les interactions dont j'ai besoins dans mon application

    j'ai aussi implemente dans une autre class un keylistener suite au besoins de remettre a zero une variable via une touche clavier.

    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
     
    public class MouseListener implements NativeMouseInputListener, NativeKeyListener {
     
     int  compteurazero = 0;     //variable instancie
     
    ...
    ....//mon code avec mes mouselistener
    ...
     
        //  mon keylister pour la remise a zero de ma variable
     
     
     public void nativeKeyTyped(NativeKeyEvent nativeKeyEvent) {
      }
      public void nativeKeyPressed(NativeKeyEvent e) {
     
        Configclavier getCurrentParametre = Parametre.getInstance3().getCurrentParametre();  // je vais cherche la valeur de ma variable dans un json
        compteurazero = getCurrentParametre.compteurazero;
     
     
     
         if (e.getKeyCode() == compteurazero) {
          compteur = 0;
          System.out.println("compteur a zero");
        }
     
      }
     
      public void nativeKeyReleased(NativeKeyEvent nativeKeyEvent) {
      }

    Ma class "tampon" du fichier json

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    package r1bellu2b.norecoil;
     
     
    public class Configclavier {
     
        String name = "Parametre";
     
     
      int compteurazero = 0;   // ou int compteurazero;
     
     
    }
    et la mon fichier json que l'utilisateur peu parametre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    {
      "name": "PARAMETRE",
     
     
                                           //Parametre de Configuration des touches
     
     
      "compteurazero" :  "19"        //remettre compteur auto a zero  (19 correspond a la touche R)
     
     
    }
    il y a seulement un parametre dans mon json pour le moment mais a terme il y aura les fonction de mon keylistener cite plus haut.

    Toute la séquence présente si dessus fonctionne a 100%.

    Le problème se situe au niveau du fichier json.

    La il y a "19" qui correspond a la touche R du clavier, si je met "31", ça deviens la touche S. (Pas très clair pour l'utilisateur)

    Les chiffre "19", "31" que j'ai cite comme exemple sont les corresponde des touche KeyEvent.VC_R et KeyEvent.VC_S en INT (Du moins ce que j'ai cru comprendre)

    Ce que souhaiterai, c'est pouvoir écrire dans mon json comme ceci :

    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
    {
      "name": "PARAMETRE",
     
     
                                          //Parametre de Configuration des touches
     
     
     
      "compteurazero" :  "R"        //remettre compteur autoa zero ou
                                               //   meme le code keylistener : ("compteurazero" :  "VC_R") mais json me le prend pas!!
     
     
      "exitappli" : "F12"         //quitte appli
     
    etc...
    etc...
     
    }
    Ecrire dans le json , ca pas de soucis, mais je ne vois pas comment dire la correspondance des touches.

    J'ai essaye pas mal de chose mais sans succes.


    J'espere que avec les explications sa sera plus claire.

    Je vous remercies pour l'aide


    Fred

  6. #6
    Membre du Club
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Points : 60
    Points
    60
    Par défaut
    Re bonjour,

    une formule de se style n'existerai t'elle pas :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (e.getKeyCode() == NativeKeyEvent.(NativeKeyEvent.class.getField("VC_"+compteurazero))) {
          compteur = 0;
          System.out.println("compteur a zero");
        }
    Bien entendu celle ci ne fonctionne pas XD

  7. #7
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Ben y'a KeyStroke justement.

    De tête (pas testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int key = KeyStroke.getKeyStroke("F1").getKeyCode();
    // key == VK_F1

    Maintenant KeyStroke va même plus loin en gérant les combinaisons de touched (avec alt/shift/ctrl).

    De ce que je vois tu ajoutes un listerner unique (sur quoi ?).
    Or pour proposer des raccourcis globaux il est préférable de passer par getInputMap() de ta JFrame, en définissant un KeyStroke par action...

  8. #8
    Membre du Club
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Points : 60
    Points
    60
    Par défaut
    Merci,

    Je vais essaye le code que vous m.avez montre.

    Le listener unique est interne a mon application.

    Je n.es pas de jframe a par entiere, elle est transparente

    Mon appli est transparente, seule un petit paint component est affiche a l.ecran, il affiche les cfg tuilise en cour, le type option choisi...
    Je n.es pas de bouton non plus.


    Merci

  9. #9
    Membre du Club
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Points : 60
    Points
    60
    Par défaut
    Bonsoir,


    j'ai travaille sur le code que vous m'avez proposé.

    Alors bonne nouvelle j'ai pas d'erreur de compilation,

    Mais la bonne, il ne se passe rien quand j'appuie sur la touche clavier dedier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public void nativeKeyPressed(NativeKeyEvent e) {
     
        Configclavier getCurrentParametre = Parametre.getInstance3().getCurrentParametre();
     
     
     
          if (e.getKeyCode() == KeyStroke.getKeyStroke(getCurrentParametre.compteurazero).getKeyCode()) {
          compteur = 0;
          System.out.println("compteur a zero");
        }
     
      }
    Ma class Parametre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    package r1bellu2b.norecoil;
     
    public class Configclavier {
    String name = "Parametre";
     
     
     
    String compteurazero = "";

    Mon fichier Json :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    {
      "name": "PARAMETRE",
     
                                           //Paramettre de base
     
     
     "compteurazero" :  "R"
     
    }
    Je vous remercis du petit coup de pouce que vous m'apporterez.

    Cordialement

    Fred

  10. #10
    Membre du Club
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Points : 60
    Points
    60
    Par défaut
    Bonjour,


    Problème résolu

    Encore merci pour votre aide, le code que vous m'avez donné étais juste

    Je devais juste modifie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (e.getKeyCode() == KeyStroke.getKeyStroke(getCurrentParametre.compteurazero).getKeyCode())
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      if (e.getRawCode() == KeyStroke.getKeyStroke(getCurrentParametre.compteurazero).getKeyCode() )

    ma class ConfigClavier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    public class Configclavier {
     
     
        String name = "Parametre";
     
     
    String compteurazero ;
     
    }
    :


    et mon Json :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    {
      "name": "PARAMETRE",
     
     
                                           //Paramettre de base
     
     
     
     "compteurazero" :  "R"
     
    }
    Voila,

    ca marche parfaitement


    Merci

    Fred

  11. #11
    Membre du Club
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Points : 60
    Points
    60
    Par défaut
    Bonjour a tous,

    Je vers vous pour une petite question.

    Comme cité plus haut, tout fonctionne bien juste je utilise n'importe quelle touche du clavier même les chiffres (au dessus des lettre) sauf les chiffres du numpad, eux ne veulent rien savoir.


    Quelle est la raison de ce phénomène?


    Car 1 du haut du clavier est le même 1 que le numpad non??


    Merci

    Fred

  12. #12
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2018
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2018
    Messages : 80
    Points : 119
    Points
    119
    Par défaut
    Bonjour,

    Non un key event du pad number est différent.
    https://docs.oracle.com/javase/7/doc.../KeyEvent.html

    Bonne journée

  13. #13
    Membre du Club
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Points : 60
    Points
    60
    Par défaut
    Merci,

    Quelle sont les contrainte que je peux rencontre en utilisant :
    Y a t.il une meilleurs solution?

    Sinon comment recupere les numpads et les touches
    manquantes?

    Merci

    Fred

  14. #14
    Membre du Club
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par Millezime Voir le message
    Bonjour,

    Pourquoi ne pas réaliser ceci directement dans ton app ? Votre utilisateur pourra ainsi paramétrer ses touches.
    En résultat, votre app va stocker ces informations dans un fichier properties, txt, csv... que votre utilisateur peut modifier si besoin.

    Bonne journée

    Bonsoir,

    Pouvez vous me donner une base de départ pour réaliser cela.

    Je ne vois pas par ou commencé.

    Cordialement

    Fred

  15. #15
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Sacree remontee

    C'est peu couramment utilisé mais Swing permet de définir des ActionMap et InputMap ce qui permet d'associer un raccourci clavier a une action. Ça évite de coder en dur les raccourcis clavier dans le code et idem pour les actions a effectuer lorsque ce raccourci est active. Ça permet, par exemple, de faire comme dans les jeux ou on peut redéfinir les actions de toutes les touches du clavier*.

    *et aussi de la souris / joypad / joystick n'importe quel périph de saisie mais dans son infini manque de sagesse, Sun / Oracle a oublié cette partie :
    Citation Envoyé par https://docs.oracle.com/javase/8/docs/api/javax/swing/InputMap.html
    (currently only KeyStrokes are used)
    Voir la doc.

    En gros une interface qui permet de saisir ça : comme dans un jeu tu as une grille affichant toutes les actions possible et en face de chaque action un champs qui permet soit de capturer la combinaison de touche utilisateur soit de proposer une liste limitée de raccourcis claviers prédéfinis. Ensuite il faut penser a vérifier qu'il n'y a pas de collision (deux actions différentes pour le même raccourci clavier) avant de valider et d’écrire ton fichier de config.

    Une interface encore plus simple : une liste ou une combo qui contient les actions, quand tu sélectionnes une action tu permet a l'utilisateur de taper son raccourci clavier dans un champ. Idem proposer une validation pour éviter les collisions.
    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

  16. #16
    Membre du Club
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    Merci pour votre réponse ,
    En effet, oui grosse remonte mais j'ai du mettre mon projet de cote un bon moment.

    J'ai un peu de temps libre c'est temps ci et j'aimerai pouvoir finir ce que j'ai commencé.

    Je vais regarde un peu toute la documentation et essayé de comprendre le mécanisme qui reste flou pour moi a l'heure actuel.

    Une petite image de ce que j'aimerai arriver a faire fabriqué avec paintNom : exemlpe.jpg
Affichages : 168
Taille : 16,9 Ko

    Une action et le choix de la touche. Ca a l'air si simple avec paint XD

    Bonne journée

    Fred

  17. #17
    Membre du Club
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    J'ai essayé de suivre l'idée que vous m'avez proposé mais je n'arrive pas a grand chose....

    Je bloque avec la jcombobox...

    J'arrive a la créer ainsi qu'une liste qui correspond a mes touches clavier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    final String labels[] = { "A", "B", "C", "D", "E",":",";",".","/"};
    JComboBox comboBox = new JComboBox(labels);
    et après je part dans tout les sens...
    Je ne vois pas comment associer le "A" de ma list, a la touche clavier A et ainsi de suite.

    Un autre exemple de test :
    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
      Action action = new Action();
            Moving moving = new Moving();
            JComboBox comboBox = new JComboBox();
     
     
            comboBox.addItem("A");
            comboBox.addItem("B");
            comboBox.addItem("C");
            comboBox.addItem("D");
            comboBox.addItem("E");
            comboBox.addItem("F");
     
     
            this.getContentPane().add(comboBox);
            this.getContentPane().add(action);
            this.getContentPane().add(moving);
     
            moving.setBounds(0,0,657,330);
     
            action.setBounds(25,10,800,800);
     
            comboBox.setBounds (400,60,60,40);
     
     
            comboBox.setEditable(false);
            comboBox.setSelectedIndex (1);
     //       comboBox.setFocusable(true);
            ActionListener actionListener = new ActionListener() {
               public void actionPerformed(ActionEvent actionEvent) {
                   System.out.println("Selected: " + comboBox.getSelectedItem());
                   if (comboBox.getSelectedItem() == "B") {
                       System.out.println("Delete key hit");
                       ConfigManager1.getInstance1().cycleConfigs();
                   }
                   if (comboBox.getSelectedItem() == "C") {
                       System.out.println("Delete key hit");
                       ConfigManager1.getInstance1().cycleConfigs();
                   }
                   if (comboBox.getSelectedItem() == "D") {
                       System.out.println("Delete key hit");
                       ConfigManager1.getInstance1().cycleConfigs();
                   }
                   if (comboBox.getSelectedItem() == ".") {
                       System.out.println("Delete key hit");
                       ConfigManager1.getInstance1().cycleConfigs();
                   }
               }
               };
    Ça fonctionne mais sa fait n'importe quoi XD


    Je vous remercie de l'aide apporte.

    Cordialement

    Fred

  18. #18
    Membre du Club
    Homme Profil pro
    Artisant
    Inscrit en
    Avril 2018
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Artisant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2018
    Messages : 169
    Points : 60
    Points
    60
    Par défaut
    Bonsoir,

    Toujours bloqué avec cette histoire de Jcombobox et de clavier...

    J'en suis la en ayant passé la journée dessus ....(pas tres glorieux )

    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
      JFrame f = new JFrame();//Remplacer JFrame par ta nouvelle fenetre
              f.setVisible(true);
              f.setLocationRelativeTo(null);
              f.setSize(675, 400);
              f.setLocationRelativeTo(null);
              f.setAlwaysOnTop(true);
              f.setResizable(false);
              f.getContentPane().setLayout(null);
              f.setLayout(null);
     
     
              f.setDefaultCloseOperation(f.DISPOSE_ON_CLOSE);
     
     
              JComboBox jComboBox1 = new JComboBox();
              f.add(jComboBox1);
              //         jComboBox1 .hide();
              //        jComboBox1 .show();
              f.getContentPane().add(jComboBox1);
              jComboBox1.setBounds(380, 60, 50, 30);
     
              jComboBox1.addItem("A");
              jComboBox1.addItem("B");
              jComboBox1.addItem("C");
              jComboBox1.addItem("C");
              jComboBox1.addItem("D");
              jComboBox1.addItem("E");
              jComboBox1.addItem("F");
              jComboBox1.addItem("H");
              jComboBox1.addItem("I");
     
              ActionListener actionListener = new ActionListener() {
                  public void actionPerformed(ActionEvent actionEvent) {
                      System.out.println("Selected: " + jComboBox1.getSelectedItem());
                      Main.Moving = !Main.Moving;
                  }
              };
              jComboBox1.addActionListener(actionListener);
          }
    Je mis prend tres mal et pas moyen de trouve la solution;

    Merci du coup de main.

    Cordialement

    Fred

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Fichier de configuration
    Par Xavinou dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 26/09/2005, 23h02
  2. Réponses: 4
    Dernier message: 09/09/2005, 12h59
  3. [Log4j] fichier de configuration ou XML ?
    Par nabilblk dans le forum Logging
    Réponses: 2
    Dernier message: 02/09/2005, 16h42
  4. [langage] Lire un fichier de configuration
    Par bobinoo dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2004, 15h53
  5. Les fichiers de configuration de comptes avec Samba
    Par tomnie dans le forum Réseau
    Réponses: 4
    Dernier message: 18/03/2004, 08h30

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