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 :

Multi fenêtrage actif


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 43
    Par défaut Multi fenêtrage actif
    Bonjour,

    Je sollicite la communauté Java pour ce petit problème.
    Lorsqu'une fenêtre principale ouvre une seconde fenêtre, la fenêtre principale devient inactive et la seconde fenêtre devient active. Je souhaiterais que la fenêtre principale reste active, et donc avoir les deux fenêtres actives en même temps .
    La bibliothèque utilisée importe peu (AWT, SWING, SWT, ...).
    Est-ce réalisable ?

    Merci.

  2. #2
    Membre actif
    Homme Profil pro
    Developpeur Java
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Developpeur Java

    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Par défaut
    Essaye de faire deux JFrame ,exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     public static void main(String[] args)  throws Exception {
            SwingUtilities.invokeLater(new Runnable() {
    		public void run() {
    			new JFrame("frame1").setVisible(true);
    			new JFrame("frame2").setVisible(true);
    		}
    	});
    }
    Normalement comme sa ils seront actifs les deux en mêmes temps.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 43
    Par défaut
    Merci pour la réponse mais cette solution ne permet pas d'avoir les deux fenêtres actives en même temps.

    Je vais reformuler le problème. J'utilise slick2D, et lorsque la fenêtre principale perd le focus, c'est à dire lorsque je clique en dehors de la fenêtre, le rendu graphique (render) se fige ... alors que la mise à jour (update) continue. Lorsque la fenêtre principale reprend le focus, le rendu graphique se débloque d'un coup pour être de nouveau en phase avec la mise à jour effectuée dans l'update.

    Je reformule ma question : comment faire pour que la fenêtre principale ne se fige pas (et permettre au rendu graphique de se poursuivre) ?

    Merci.

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Par défaut
    bonjour,

    il faut utiliser la methode setAlwaysRender(true) du GameContainer. Cette option est à false par défault. Voici un exemple :

    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
     
    import org.newdawn.slick.*;
    import org.newdawn.slick.Graphics;
     
    import org.lwjgl.*;
    import javax.swing.*;
    import java.awt.*;
    public class HelloWorld extends BasicGame
    {
    	int x=0,y=0;
     
      public HelloWorld()
      {
         super("Hello World");
      }
     
      @Override
      public void init(GameContainer gc) throws SlickException
      {
      	  gc.setAlwaysRender(true);
      }
     
      @Override
      public void update(GameContainer gc, int delta) throws SlickException
      {
      	  x=x+1;
      	  y=y+1;
      	  try {
      	  Thread.sleep(1000);
      	  }
      	  catch (Exception e) {}
      }
     
      @Override
      public void render(GameContainer gc, Graphics g) throws SlickException
      {
         g.drawString("Hello World", x, y);
      }
     
      public static void main(String[] args) throws SlickException
      {
         AppGameContainer app = new AppGameContainer(new HelloWorld());
         JFrame frame2 = new JFrame();
    	JPanel sprite = new JPanel();
    	JTextField text = new JTextField(20);
    	frame2.setBounds(300,0,300,300);
    		JPanel panelText = new JPanel();
    		panelText.add(text);
    		frame2.add(panelText,BorderLayout.CENTER);
    		text.requestFocus();
    		frame2.setVisible(true);
         app.setDisplayMode(800, 600, false);
         app.start();
      }
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 43
    Par défaut
    Merci ça fonctionne !

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

Discussions similaires

  1. Gestion multi fenêtrage
    Par irongomme dans le forum Windows Forms
    Réponses: 13
    Dernier message: 30/10/2007, 00h40
  2. Progressbar + multi fenêtrage
    Par masacc dans le forum Windows Forms
    Réponses: 6
    Dernier message: 23/08/2007, 08h41
  3. navigation en Multi-fenêtrage
    Par gotcha5832 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/05/2007, 23h20
  4. Glut Multi Fenêtrage
    Par maxetime dans le forum GLUT
    Réponses: 11
    Dernier message: 02/10/2006, 13h47
  5. Problème de multi-fenêtrage
    Par mojojojo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/06/2006, 16h24

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