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

Agents de placement/Fenêtres Java Discussion :

Anomalie affichage de boite JDialog


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 340
    Points : 1 576
    Points
    1 576
    Par défaut Anomalie affichage de boite JDialog
    Bonjour,

    l'application que je développe affiche différents formulaires, étendant JDialog.

    Voici un exemple de formulaire contenant une JTable et quelques JRadioButton:
    Nom : GradesT normal.jpg
Affichages : 97
Taille : 30,0 Ko

    Je recharge le même fichier de données, et voilà le résultat:
    Nom : GradesT anormal.jpg
Affichages : 84
Taille : 34,9 Ko

    Notez que des morceaux de ligne de la JTable sortent de la zone JScrollPane .
    Ce qui m'inquiète, c'est que le comportement est aléatoire. En rechargeant à nouveau le fichier, il se peut que le formulaire soit lisible
    Ca ressemblerait un problème d'allocation mémoire ?! Mais tout est géré par JAVA. Et pourquoi cela fonctionne parfois ?
    Avez-vous déjà rencontré ce problème ?
    Images attachées Images attachées  
    @ bientôt...

    Salut & @+ sur 3W!

  2. #2
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 340
    Points : 1 576
    Points
    1 576
    Par défaut
    Bonjour,

    petite précision:
    - Cela arrive souvent sur Windows7 64 bits
    - Parfois sur Windows XP
    - Jamais sur Windows 8
    @ bientôt...

    Salut & @+ sur 3W!

  3. #3
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 340
    Points : 1 576
    Points
    1 576
    Par défaut
    Bonjour, je pense avoir résolu mon problème.

    Pour ceux que cela intéresse:
    - les classes affichant ces formulaires, étendent JDialog.
    - ces classes sont affichées par l'intermédiaire d'une interface du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void afficheFormulaire() {
      /.../
      this.setVisible( true );
    }
    Ces classes étant déclarées Modal, l'exécution du code est suspendu juste après l'instruction setVisible().
    Bien que ce soit la dernière instruction de l'interface de la classe, cela semble perturber le traitement des évènements graphiques du formulaire.

    J'ai donc modifié le code comme suit (et d'ailleurs la JavaDoc évoque le sujet, mais c'est une petite phrase parmi tant d'autres):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // Pour ne pas bloquer le traitement de l'affichage par setVisible() d'une JDialog modale
      SwingUtilities.invokeLater(new Runnable() {
        public void run() {
          maBoiteDialogue.setVisible( true );
        }
      });
    Avec maBoiteDialogue, une variable pointant sur this de la classe.

    L'instruction setVisible() est maintenant exécutée dans un autre Thread, et le code de l'interface de la classe est exécuté jusqu'au bout.
    Apparemment, cela semble fonctionner....
    @ bientôt...

    Salut & @+ sur 3W!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/03/2010, 10h04
  2. 3D vers 2D Anomalie affichage
    Par rob24 dans le forum Développement 2D, 3D et Jeux
    Réponses: 28
    Dernier message: 28/01/2010, 09h54
  3. probleme d'affichage d'un JDialog
    Par riadhhwajdii dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 14/10/2009, 16h19
  4. problème affichage des boite dialogue
    Par kos.noura dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 18/11/2008, 14h17
  5. [MFC] Probleme d'affichage avec boite modale
    Par kitsune dans le forum OpenGL
    Réponses: 2
    Dernier message: 04/09/2007, 06h53

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