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

Interfaces Graphiques en Java Discussion :

Eviter le plurilancement


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Par défaut Eviter le plurilancement
    Bonjour,

    Voilà j'ai une petite question,
    après maintes recherche je n'ai pas trouve de solution adéquat.
    Je désire effectuer mon application de sorte qu''elle puisse qu'etre execute qu'une seule fois.
    J'ai essayer par des sockets comme il l'a ete indique par une personne mais sans resultat.
    Je m'en remets a vous afin que vous puissiez m'aider à trouver.

    Merci d'avance

  2. #2
    Membre chevronné
    Avatar de Orian
    Inscrit en
    Août 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Août 2006
    Messages : 372
    Par défaut
    Solution rustine parce qu je sais pas trop :

    Tu crèe un fichier au lancement de l'application et que tu supprime à la fermeture.

    Si on relance l'application et que le fichier existe l'application quitte et adieu.

    Maintnant c'est peut-être un peu pourri

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238

  4. #4
    Membre Expert
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Par défaut
    Voilà se que j'ai fais et sa ne marche pas

    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
     
    public class Appli 
    {
    	public static void main(String[] args)
       {
    	  try
    	  {
    		  new ServerSocket(PORT);
    	  }
    	  catch(Exception e)
    	  {
    		  System.exit(0);
    	  }
    	  JFrame frame = new DesktopFrame();
    	  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	  frame.setVisible(true); 
    	  frame.setLocationRelativeTo(null);
     
       }
    	private static int PORT = 1234 ;
    	private static final long serialVersionUID=42L;
    }

  5. #5
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 104
    Par défaut
    je comprend pas trop pourquoi tu déclare frame en tant que JFrame et tu l'initialise en tant que desktopframe... sinon à première vue ça m'a l'air correct. qu'est ce qui ne marche pas au juste? le port n'est il pas déjà utilisé ?

  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
    Note : frame est juste un nom de variable et sa classe DesktopFrame etend JFrame. Rien d'anormal la-dedans.

    Mon conseil a moi (qui ne change rien a ton probleme) est d'initialiser ta fenetre durant l'EDT avec SwingUtilities.invokeLater().

    J'ai modifie le code ainsi pour les tests et ca marche sans probleme. Mais normalement cela aurait du fonctionner de meme avec le code initial.

    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
    import java.net.*;
    import javax.swing.*;
     
    public class Appli  {
      public static void main(String[] args) {
        try {
          new ServerSocket(PORT);
        }
        catch(Exception e) {
          System.exit(0);
        }
        SwingUtilities.invokeLater(new Runnable() {
          public void run() {
            JFrame frame = new JFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true); 
            frame.setLocationRelativeTo(null);
          }
        });    
      }
     
      private static int PORT = 1234 ;
      private static final long serialVersionUID=42L;
    }
    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

  7. #7
    Membre Expert
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Par défaut
    Mais bouye avec mon code quand tu as teste sa a marche ?
    Sinon merci pour le conseil

Discussions similaires

  1. [C#] Comment eviter les boucles infinies ?
    Par Thomas Lebrun dans le forum C#
    Réponses: 12
    Dernier message: 09/06/2004, 00h04
  2. Encodage de caracteres: eviter 81, 8D, 8F, 90, 9D ->
    Par Fladnag dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 27/04/2004, 11h17
  3. Pb affichage avec un PaintBox (pour eviter scintillement)
    Par juan64 dans le forum C++Builder
    Réponses: 7
    Dernier message: 08/04/2004, 09h21
  4. [opengl] Comment eviter l'ordre de faces ?
    Par :GREG: dans le forum OpenGL
    Réponses: 3
    Dernier message: 02/03/2004, 19h14
  5. Eviter deux nombres identiques dans un tirage aléatoire
    Par moon tiger dans le forum Pascal
    Réponses: 5
    Dernier message: 25/11/2002, 09h57

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