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 :

[JFrame]System.exit() lors du clic sur la croix


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut [JFrame]System.exit() lors du clic sur la croix
    Salut tout le monde,

    je suis un gros zero en Java alors je me permet d'expliquer mon problème.

    Voila jai une premiere class comme ceci qui me permet de lancer mon interface graphique. jusque la, sa marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class IP_Validator {
     
    	public static void main(String[] args) {
     
    		Interface Interface_laucher = new Interface();
    		Interface_laucher.setVisible(true);
     
    	}
     
    }
    par contre lorsque je clique sur la croix en haut a droite de ma JFrame, mon programme ne se ferme pas et je suis obliger de killer le processus manuellement...

    Comment définir que lorsque je clique sur la petite croix de ma JFrame, que sa execute System.exit(0) ou quelque chose d'équivalent ? merci

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    A ta JFrame, tu lui donnes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre émérite
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Par défaut
    Citation Envoyé par romaintaz
    A ta JFrame, tu lui donnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    C'est pas drôle c'est trop simple....

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    voici mon code

    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
    public class Interface extends Frame implements ActionListener{
     
    	private static final long serialVersionUID = 1L;
    	private JDesktopPane jDesktopPane = null;
    	private JTextField jTextField = null;
    	private JButton jButton = null;
    	private JLabel jLabel = null;
    	private JLabel jLabel1 = null;
    	public Interface() {
    		super();
    		initialize();
    	}
     
    	private void initialize() {
    		this.setSize(300, 200);
    		this.setTitle("IP Validator");
    		this.setResizable(false);
    		this.add(getJDesktopPane());
    	}
     
    	private JDesktopPane getJDesktopPane() {
    			jDesktopPane = new JDesktopPane();
     
    			jLabel = new JLabel();
    			jLabel.setBounds(new Rectangle(20, 12, 263, 17));
    			jLabel.setText("Enter a IP Adress and click on button for");
    			jDesktopPane.add(jLabel1, null);
     
    			jLabel1 = new JLabel();
    			jLabel1.setBounds(new Rectangle(20, 28, 263, 16));
    			jLabel1.setText("checking if the IP is correct.");
    			jDesktopPane.add(jLabel, null);
     
    			jDesktopPane.add(getJTextField(), null);
    			jDesktopPane.add(getJButton(), null);
     
    		return jDesktopPane;
    	}
     
    	/**
             * This method initializes jTextField           
             */
    	private JTextField getJTextField() {
    			jTextField = new JTextField();
    			jTextField.setBounds(new Rectangle(20, 71, 166, 26));
    		return jTextField;
    	}
     
    	/**
             * This method initializes jButton      
             */
    	private JButton getJButton() {
    			jButton = new JButton();
    			jButton.setBounds(new Rectangle(20, 102, 95, 24));
    			jButton.setText("Check IP");
    		return jButton;
    	}
     
    	public void actionPerformed(ActionEvent e) {
     
    		if(e.getSource() == jButton){//Si l'action émane bien du bouton
    			System.out.println("checked");
    		}
     
     
    	}
     
     
    }

  5. #5
    Membre émérite
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Par défaut
    Donc tu mélanges du java.awt et du java.swing

    Pourquoi ne pas utiliser une JFrame qui implement par defauts les WindowsListener....
    Je pense qu'en laissant tel quel et remplacant
    public class Interface extends Frame implements ActionListener{
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public class Interface extends JFrame implements ActionListener{
    Ca devrait suffire, non ?

  6. #6
    Membre éprouvé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Par défaut
    parce que je n'y connais rien lol ! tu me conseil le swing ou l'awt ?

  7. #7
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Citation Envoyé par SnakemaN
    ...
    Pourrais tu utiliser la balise code, merci...

  8. #8
    Membre émérite
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Par défaut
    Fais tu ton interface avec SWING ou AWT il me semble que AWT ne gere pas les évenement par defaut des OS liés au 3 icones en haut a droite ....

    Sinon tu peut toujours rajouter un adaptateur d'evenement
    WindowsEvent(WINDOWS-CLOSING)
    qui a comme source le JFrame et recepteur ton programme ici apprement ton "interface" (nom tres mal choisi en passant, on peut confondre..)

    a la definition de ta classe de Interface rajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    implements WindowsListener
    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
    public class Interface extends JFrame { (<- je suppose)
    implements WindowsListener {
    
    definition de ta classe
    
    this.addWindowsListener(this);
    }
    
    
    ajoute la methode correspondante :
    
    public void windowsClosing(WindowsEvent e){
    System.exit(0);
    }
    
    
    }
    
    }
    C'est un peu tiré par les cheveux mais c'est l'idée, sinon poste ton code de ta classe...

Discussions similaires

  1. [JFrame] lancer une méthode lors d'un clic sur la croix rouge
    Par Mushu74 dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 17/06/2008, 15h55
  2. Réponses: 3
    Dernier message: 06/12/2007, 07h42
  3. Interruption d'une tache (SwingWorker) lors du clic sur un bouton
    Par Crowell dans le forum EDT/SwingWorker
    Réponses: 3
    Dernier message: 07/05/2007, 14h55
  4. si checkbox cochée afficher une alerte lors du clic sur OK
    Par Nemesys dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/04/2007, 14h10
  5. JSP : Récupérer valeur lors du clic sur un bouton
    Par ze veritable farf dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 11/04/2006, 11h16

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