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

AWT/Swing Java Discussion :

Aide multi fenêtre


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Septembre 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Septembre 2016
    Messages : 51
    Par défaut Aide multi fenêtre
    Bonjour,

    J'essaye de faire en sorte lors d'un clique sur un bouton de ma fenêtre, qu'il y ai une autre fenêtre qui s'ouvre. Dans cette nouvelle fenêtre il y a un formulaire de création qui permet d'obtenir des informations. Ces informations doivent servir pour la création d'un nouveau JScrollPane dans la fenêtre initiale. J'aimerais que la création du scollPane se fasse lorsque la nouvelle fenêtre est terminé (l'utilisateur a entré toutes les infos).

    Voici mon code actuel j'ai essayé avec un thread mais ça bloque tout :

    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
     if(e.getSource() == menuAjoutern){
    			JScrollPane scrollpane;
    			nomniveaux++;
     
    			Frame p = new Frame();
    			p.setContentPane(new PanelInfoCrea());
    			p.setVisible(true);
     
    			/*Thread t = new Thread(new Runnable() {
     
    				@Override
    				public void run() {
    					Frame p = new Frame();
    					p.setContentPane(new PanelInfoCrea());
    					p.setVisible(true);
     
    				}
    			});
    			t.start();
     
     
    			Frame.creation = true;
    			while(Frame.creation) {
    				try {
    					System.out.println("oui");
    					Thread.sleep(1);
    				} catch (InterruptedException e1) {
    					// TODO Auto-generated catch block
    					e1.printStackTrace();
    				}
    			}*/
    			scrollpane = new JScrollPane(Frame.p.getListeNiveau().get(Frame.p.getListeNiveau().size()-1).dessinerPlateauCreation(this.getWidth(), this.getHeight(), hauteur));
    			pane.add("niveau "+nomniveaux ,scrollpane);
    		}
    Ici j'essaye de faire en sorte d'attendre de créer le JScrollPane tant que le boolean vaut true. Il passe à false lorsque la deuxième fenêtre est terminé.

    Avez vous des idées ?

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Il ne faut jamais faire du Swing ailleurs que dans le thread Swing, et jamais mettre de boucle d'attente dans le thread Swing (le thread Swing s'occupe de l'affichage et du traitement des évenements, faire une attente dans le thread Swing, c'est bloquer le thread Swing, et donc c'est bloquer l'affichage et le traitement des évenements).

    Soit tu fais un JDialog, qui lui va bloquer la première frame, sans bloquer le thread Swing (on ne pourra rien faire dans la première frame), et à la fermeture du dialogue, tu peux faire ce que tu veux avec ce qui a été saisi dans le dialogue.
    Soit tu utilises des évenements (voir la classe SwingPropertyChangeSupport).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Septembre 2016
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Septembre 2016
    Messages : 51
    Par défaut
    Merci, j'ai réussi avec les JDialog

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

Discussions similaires

  1. Application multi-fenêtrée
    Par evilnet dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 06/04/2007, 20h39
  2. Gestion multi fenêtres
    Par windsor dans le forum WinDev
    Réponses: 1
    Dernier message: 27/03/2007, 00h06
  3. Réponses: 3
    Dernier message: 14/03/2007, 13h01
  4. [Aide HLP] fenêtre d'affichage
    Par sidahmed dans le forum C++Builder
    Réponses: 1
    Dernier message: 30/07/2006, 15h06
  5. Réponses: 2
    Dernier message: 26/01/2006, 21h59

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