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

Langage Java Discussion :

Fenêtre et timer


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut Fenêtre et timer
    Salut,
    j'ai besoin de votre aide s'il vous plait
    Je suis débutant et j'ai beaucoup de mal surtout avec timer...

    Le but du programme : me permettre de lâcher mon ordi quand je geek trop ça deviendrait intempestif et j'irais faire autre chose de plus intelligent
    En gros je souhaite avec un programme sur mon MAC, qui se lance à l'ouverture de l'ordi, en mode CACHÉ.

    Et que toutes les 10 minutes par exemple, il affiche une fenêtre. La fenêtre serait en plein écran et bloquerait sa fermeture manuelle pour que je puisse pas la fermer quoi. Et elle disparaitrait au bout de 1 minute. Aucun moyen pour moi de la refermer !
    Dans la fenêtre j'aimerais mettre un photo en particulier (plan de travail et phrases de motivation).

    S'il vous plait, comment faire ces timer (tutos à la con j'en ai marre rien ne fonctionne ) et aussi le plein écran + fonction anti-fermeture et insérer la photo (pareil, gros problèmes avec ça...) ?

    Merci beaucoup ^^

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    J'ai pas très envie d'utiliser
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    public void paintComponent(Graphics g)
    Parce que je comprends pas comment la fonction peut être appelée si nulle part je lui envoie "g" ...

    J'ai bien essayé quelque chose mais toujours des erreurs ...
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    JPanel pane = new JPanel();
    JLabel image = new JLabel( new ImageIcon( "/Users/THEO/Images/mon_image.jpg"));
    Container contentPane = pane.getRootPane();
    pane.setLayout(new BoxLayout(pane, BoxLayout.PAGE_AXIS));
    pane.add(image);
    J'arrive pas à utiliser setLayout...

    Pour le timer je vais essayer d'utiliser ça
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	Timer timer;
     
    	public void TimerTaskEx() {
    		timer = new Timer();
    		timer.schedule(new Reminder(), 4 * 1000);
    	}
     
    	class Reminder extends TimerTask {
    		public void run() {
    			System.out.format("Timer Task Finie...!%n");
    			timer.cancel();
    		}
    	}

    Et pour le chemin de l'image j'ai un doute... Donc je suis sur MAC comme je l'ai déjà précisé, je dois mettre /Users/THEO/Images/mon_image.jpg ? Ou alors j'enlève le premier "/" ? C'est "Users" ou "Utilisateurs" ? Parce que le dossier est en français mais le chemin que je vois sur la fenêtre du Finder est "Users" ...

    Mrci

  3. #3
    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 : 54
    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
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Citation Envoyé par To175 Voir le message
    J'ai pas très envie d'utiliser
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    public void paintComponent(Graphics g)
    Parce que je comprends pas comment la fonction peut être appelée si nulle part je lui envoie "g" ...
    Cette méthode est automatiquement appelé par SWING quand il détermine que c'est nécessaire. Lorsque SWING ne peut pas le déterminer, on appelle repaint() ce qui provoque l'appelle des méthodes nécessaires, dont paintComponent éventuellement. On appelle jamais explicement ces méthodes (paint, paintComponent, etc... sauf par super.paintxxx quand il est nécessaire de les redéfinir).

    Citation Envoyé par To175 Voir le message
    J'ai pas très envie d'utiliser
    J'ai bien essayé quelque chose mais toujours des erreurs ...
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    JPanel pane = new JPanel();
    JLabel image = new JLabel( new ImageIcon( "/Users/THEO/Images/mon_image.jpg"));
    Container contentPane = pane.getRootPane();
    pane.setLayout(new BoxLayout(pane, BoxLayout.PAGE_AXIS));
    pane.add(image);
    J'arrive pas à utiliser setLayout...
    Je sais pas ce que tu cherches à faire, mais là tu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    créés un JPanel référencé par la variable pane
    tu créés une label dans lequel tu mets une image
    tu appelles le rootPane de la fenêtre dans lequel est le panel (le panel n'étant dans aucune fenêtre à ce moment, ça renvoit null)
    tu affectes un BoxLayout comme layouteur de pane
    tu ajoutes le label à pane
    si tu ajoutes pane au contentPane d'une fenêtre, ça t'affichera l'image dans sa taille d'origine, collée en haut à gauche.


    Citation Envoyé par To175 Voir le message
    Et pour le chemin de l'image j'ai un doute... Donc je suis sur MAC comme je l'ai déjà précisé, je dois mettre /Users/THEO/Images/mon_image.jpg ? Ou alors j'enlève le premier "/" ? C'est "Users" ou "Utilisateurs" ? Parce que le dossier est en français mais le chemin que je vois sur la fenêtre du Finder est "Users" ...
    L'argument de ImageIcon est un chemin absolu, ou un chemin relatif par rapport au dossier courant : donc met le slash (à priori tu n'utilises de dossier root comme dossier par défaut).
    Le nom doit être le vrai nom dans le FileSystem : Utilisateurs est un rendu pour l'affichage, donc c'est bien Users (attention à la casse : elle compte. Je ne me souviens plus si c'est Users ou users sur Macintosh, mais ça me semble bizarre Users... je pense que c'est plutôt users).

    Maintenant, mettre un chemin en dur est toujours problématique lorsqu'on veut diffuser son programme. Utilise plutôt des chemins relatifs vers des ressources : regardes du côté de la méthode getResource() de la classe Class.

    Voici une solution vite faite :

    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
    public class BlocScreen {
     
    	private final static ImageIcon IMAGE = new ImageIcon(BlocScreen.class.getResource("suricate.jpg"));
     
    	private final static long DELAY = 1000; // 1 seconde pour l'exemple
    	private final static long PERIOD = 20000; // 20 sec
     
    	private final static long DURATION = 5000; // 5 sec	
     
    	public static void main(String[] args) {
     
    		JFrame jframe = new JFrame();
    		jframe.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
     
    		GraphicsEnvironment
            .getLocalGraphicsEnvironment().getScreenDevices()[0].setFullScreenWindow(jframe);
    		jframe.getContentPane().add(new JLabel(IMAGE));
     
    		jframe.setAlwaysOnTop(true);
     
    		Timer timer = new Timer();
    		timer.schedule(new TimerTask() {
     
    			@Override
    			public void run() {
    				jframe.setVisible(true);
    				try {
    					Thread.sleep(DURATION);
    				} catch (InterruptedException e) {
    				}
    				jframe.setVisible(false);
    			}
    		}, DELAY, PERIOD);
     
    	}
     
    }
    Elle ne t'empêchera pas de faire ALT-TAB, mais un peu de discipline que diable !
    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.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,
    Merci beaucoup,
    Merci beaucoup pour le plein écran !! Il est super
    j'ai eu trop peur merci beaucoup

    Il me dit "BlocScreen cannot be resolved to a type"
    Le chemin est bien Users

    J'ai réussi certaines choses, voir ci-doussous.
    Là ça fait à peut près ce que je veux
    C'est un bon début,

    Code java : 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
    //package, imports...
    public class ClasseM extends JFrame{
     
    	private static final long serialVersionUID = 1L;
    	Timer timer;
     
    	public void TimerTaskEx() {
    		timer = new Timer();
    		timer.schedule(new Reminder(), 6 * 1000);//coucou c'est le 1er timer
    		System.out.println("TimerTaskEx");
    	}
     
    	class Reminder extends TimerTask {
    		public void run() {
    			System.out.println("Timer Task Finished..!");//fin du 1er timer ?
    			//Cacher la fenetre après les 6 secondes avec (?) frame.setVisible(false); ici ? mais frame indéfini :(
    			//(?) On doit créer un  TimerTaskEx2(){ 4*1000 } pour attendre 4 secondes
    			//Ouvrir la fenetre après les 4 secondes
    			//(?) On doit créer un Reminder2 (avec frame.setVisible(true); frame indéfini) qui rappelle TimerTaskEx ? 
    			timer.cancel();//j'enlève ça ?
    		}
    	}
     
    	public static void main(String[] args) {
    		ClasseM frame0 = new ClasseM();
    		JFrame frame = new JFrame();
    		frame0.TimerTaskEx();//ça à l'aire de fonctionner :)
    		//la photo s'affiche avant les 6 secondes c'est BIEN mais alors comment faire
    		//pour que le reste si les timers sont exécutés comme ça ?
    		 frame.setSize(500,500);
    		 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);       
    		 frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 
    		//J'enlève ça ? => setUndecorated(true);
    		 frame.setUndecorated(true);
    		 frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);
    		 GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0].setFullScreenWindow(frame);
    		 Border etched = (Border) BorderFactory.createEtchedBorder();
     
    		 //String[] items = {"A", "B", "C", "D"};
    		//@SuppressWarnings({ "unchecked", "rawtypes" })
    		//JList list = new JList(items);
    		 //JTextArea text = new JTextArea(10, 40);
    		 //JScrollPane scrol = new JScrollPane(text);
    		 //JScrollPane scrol2 = new JScrollPane(list);
     
    		 JPanel panel= new JPanel();
    		 //panel.add(scrol2,BorderLayout.WEST);
    		 //panel.add(scrol, BorderLayout.EAST);
    		 panel.setBorder(etched);
     
    		 JLabel image = new JLabel( new ImageIcon( "/Users/THEO/Documents/workspace/DTJF/photo.jpg"));
    		 panel.setLayout(new BorderLayout());
    		 panel.add(image);
     
    		 frame.add(panel);
    		 frame.setVisible(true);
    		}
    }

    Donc moi j'aimerais bien que le programme soit caché après ces 6 secondes :
    - Démarrage du programme .jar
    - ~ 6 secondes en plein écran
    - on cache le programme qui ne doit pas être atteignable (c'est une sorte de contrôle parental quand meme :p)
    - ~ 4 secondes d'attente
    - réouverture automatique de la fenêtre du programme et rebelote jusqu'à fermeture de la session

    Maintenant il me manque aussi :
    - Ne pas pouvoir faire cmd+Q ou n'importe quoi pour fermer le programme, il ne doit pas être kill ! (mac hein)

    Merci

  5. #5
    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 : 54
    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
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par To175 Voir le message
    Merci beaucoup,
    Merci beaucoup pour le plein écran !! Il est super
    Il faut évidemment mettre l'image dans le dossier où se trouve la classe pour voir l'image.

    Citation Envoyé par To175 Voir le message
    Donc moi j'aimerais bien que le programme soit caché après ces 6 secondes :
    - Démarrage du programme .jar
    - ~ 6 secondes en plein écran
    - on cache le programme qui ne doit pas être atteignable (c'est une sorte de contrôle parental quand meme :p)
    - ~ 4 secondes d'attente
    - réouverture automatique de la fenêtre du programme et rebelote jusqu'à fermeture de la session
    Regarde ce que j'ai fait dans mon code : au lieu de fermer la fenêtre pour la réouvrir, je la cache et la réaffiche (ou plus exactement, je l'affiche puis la cache).

    Citation Envoyé par To175 Voir le message
    Maintenant il me manque aussi :
    - Ne pas pouvoir faire cmd+Q ou n'importe quoi pour fermer le programme, il ne doit pas être kill ! (mac hein)
    Normalement, jframe.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); empêche la fermeture de la fenêtre. Un moyen d'empêcher de fermer l'application serait d'utiliser un shutdownHook (Runtime.getRuntime().addShutdownHook) qui relance l'application (rappel de main()), mais tu ne pourras pas contrer un kill -9.
    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.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,
    J'ai du nouveau alors je re-poste,
    Code java : 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
    //imports et package
    public class ClasseM extends JFrame implements ActionListener{
    	private static JButton bouton;
    	private static final long serialVersionUID = 1L;
    	private final static long DELAY = 7000; // 7 sec caché (10 minutes)
    	private final static long PERIOD = 5000; // 5 sec
    	private final static long DURATION = 3000; // 3 sec affiché (2 minutes)
     
    	static JFrame frame = new JFrame();
     
    	public void actionPerformed(ActionEvent e) {
    		Object source = e.getSource();
    		if(source == bouton){
    			frame.dispose();
    		}
    	}
     
    	static int count = 0;
    	public static void main(String[] args) {
    		Timer timer0 = new Timer();
            timer0.schedule(new TimerTask() {
    			@Override
    			public void run() {
    				count = count + 1;
    		        Border etched = (Border) BorderFactory.createEtchedBorder();
     
    		        JPanel panel= new JPanel();
    		        panel.setBorder(etched);
    		        JLabel image = new JLabel( new ImageIcon( "/Users/THEO/Documents/workspace/DTJF/photo.jpg"));
    		        panel.setLayout(new BorderLayout());
    		        panel.add(image);
     
    		        frame.setSize(500,500);
    		        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);       
    		        frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 
    		        frame.setUndecorated(true);
    		        frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);
    		        frame.setAlwaysOnTop(true);
    		        GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0].setFullScreenWindow(frame);
    		        frame.add(panel);
    				frame.setVisible(true);
    				if(count>3){
    					System.exit(-1);
    				}
    				try {
    					Thread.sleep(DURATION);
    				} catch (InterruptedException e) {
    				}
    				bouton = new JButton("Cliquez ici !");
    				panel.add(bouton);			
    			}
    		}, DELAY, PERIOD);
        }
    }
    • Je ne comprends pas PERIOD ce que ça fait ?
    • Comment bloquer le cmd+Q ? merci, je vais chercher à désactiver le clavier alors
    • Comment afficher correctement mon bouton pour fermer la fenêtre manuellement au bout des 3 secondes ?

    Exception in thread "Timer-0" java.awt.IllegalComponentStateException: The frame is displayable.
    at java.awt.Frame.setUndecorated(Frame.java:923)
    at fr.mecraft.world.ClasseM$1.run(ClasseM.java:57)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)

  7. #7
    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 : 54
    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
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    PERIOD c'est le temps entre chaque exécution de la tâche. Les arguments de schedule sont :

    • Le délai (DELAI) avant la première exécution
    • La période (PERIOD) entre chaque exécution suivante


    On ne peut pas appeller setUndecorated() sur une fenêtre déjà affichée. Mais de toute façon, ça ne sert à rien d'enlever les décorations d'une fenêtre plein écran, parce qu'il n'y en a pas (une fenêtre plein écran n'est pas une fenêtre qui s'étend sur tout l'écran) : donc enlève cette ligne. A moins que le Macintosh ne sait pas gérer de fenêtre plein écran : dans ce cas, utiliser effectivement une fenêtre sans décoration, non redimensionnable, et d'état étendu au démarrage.
    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.

  8. #8
    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 : 54
    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
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par To175 Voir le message
    • Comment afficher correctement mon bouton pour fermer la fenêtre manuellement au bout des 3 secondes ?
    Je comprends pas ce que tu veux faire :

    • Déjà à quoi ça sert de bloquer le CMD-Q et le kill, si tu as un bouton pour fermer la fenêtre ?
    • Tu voudrais que le bouton soit visible/accessible au bout de 3 secondes, c'est çà ?
    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.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Je comprends pas ce que tu veux faire :

    • Déjà à quoi ça sert de bloquer le CMD-Q et le kill, si tu as un bouton pour fermer la fenêtre ?
    • Tu voudrais que le bouton soit visible/accessible au bout de 3 secondes, c'est çà ?
    Merci bien

    J'ai compris delay et duration, mais period je le vois pas faire effet...
    Même avec period=5000 et delay=500 et bah ok le programme démarre vite mais quand la fenetre se ferme et se ré-ouvre et bah ça met aussi 500ms alors que je veux 5000 ...

    • Le bouton pour fermer apparaitrait après que les 3 secondes soient finies oui, sinon on bloque toutes les touches du clavier.
    Avec peut-etre PopupDebugger et requestFocus(); par exemple ça marcherait ?

    J'arrive pas à voir mon bouton

    Code java : 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
    70
    71
    72
    73
    74
    package fr.mecraft.world;
     
    import java.awt.BorderLayout;
    import java.awt.GraphicsEnvironment;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.Timer;
    import java.util.TimerTask;
     
    import javax.swing.BorderFactory;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JRootPane;
    import javax.swing.border.Border;
     
    public class ClasseM extends JFrame implements ActionListener{
    	private static JButton bouton;
    	private static final long serialVersionUID = 1L;
    	private final static long DELAY = 500; // 500ms au départ (0 minutes)
    	private final static long PERIOD = 5000; // 5 sec caché (10min)
    	private final static long DURATION = 3000; // 3 sec affiché (2 minutes)
    	static int count = 0;
    	static JFrame frame = new JFrame();
     
    	public void actionPerformed(ActionEvent e) {
    		Object source = e.getSource();
    		if(source == bouton){
    			frame.dispose();
    		}
    	}
     
    	//PopupDebugger et padding.requestFocus(); ?
     
    	public static void main(String[] args) {
    		Timer timer0 = new Timer();
            timer0.schedule(new TimerTask() {
    			@Override
    			public void run() {
    				count = count + 1;
    		        Border etched = (Border) BorderFactory.createEtchedBorder();
     
    		        JPanel panel= new JPanel();
    		        panel.setBorder(etched);
    		        JLabel image = new JLabel( new ImageIcon( "/Users/THEO/Documents/workspace/DTJF/photo.jpg"));
    		        panel.setLayout(new BorderLayout());
    		        panel.add(image);
     
    		        frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    		        frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 
    		        //frame.setUndecorated(true);
    		        frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);
    		        frame.setAlwaysOnTop(true);
    		        GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0].setFullScreenWindow(frame);
    		        frame.add(panel);
    				frame.setVisible(true);
    				if(count>3){
    					System.exit(-1);
    				}
    				try {
    					Thread.sleep(DURATION);
    				} catch (InterruptedException e) {
    				}
    				bouton = new JButton("Cliquez ici !");
    				panel.add(bouton);
    			}
    		}, DELAY, PERIOD);
     
     
        }
     
    }

  10. #10
    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 : 54
    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
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par To175 Voir le message
    Merci bien

    J'ai compris delay et duration, mais period je le vois pas faire effet...
    Même avec period=5000 et delay=500 et bah ok le programme démarre vite mais quand la fenetre se ferme et se ré-ouvre et bah ça met aussi 500ms alors que je veux 5000 ...
    Je comprends pas pourquoi ça ferait ça.

    Citation Envoyé par To175 Voir le message
    • Le bouton pour fermer apparaitrait après que les 3 secondes soient finies oui, sinon on bloque toutes les touches du clavier.
    Avec peut-etre PopupDebugger et requestFocus(); par exemple ça marcherait ?
    requestFocus donnera juste le focus si c'est possible : je ne vois pas le rapport avec l'affichage d'un bouton, ou le blocage du clavier. Et je ne sais pas ce qu'est PopupDebugger.

    A mon avis, de toute manière, tu ne pourras jamais bloquer le clavier globalement (les raccourcis système), en java du moins. C'est peut-être faisable avec une bibliothèque qui permet d'accèder aux fonctions système. J'ai utilisé une telle bibliothèque quand l'environnement était carbon, donc ça fait un bail. Mais je ne sais pas s'il y en a de plus actuelle.

    Citation Envoyé par To175 Voir le message
    J'arrive pas à voir mon bouton
    C'est parce que tu l'ajoutes au panel après l'avoir affiché (le panel/la frame) : dans ce cas, il faut demander à SWING de relayouter (revalidate()) et de redessiner (repaint()).


    PS : tu devrais faire toutes les initialisations de la fenêtre en dehors de la tâche schédulée : ceci pour éviter que ça le fasse inutilement (et d'en éviter les conséquences de latence entre autres) à chaque exécution.

    Voici mon code modifié avec le bouton :
    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    public class BlocScreen extends JPanel {
     
    	private final static ImageIcon IMAGE = new ImageIcon(BlocScreen.class.getResource("suricate.jpg"));
     
    	private final static long DELAY = 1000; // 1 seconde pour l'exemple
    	private final static long PERIOD = 20000; // 20 sec
     
    	private final static long DURATION_BUTTON = 3000; // 3 sec	
    	private final static long DURATION = 2000; // 2 sec	
     
    	private static BlocScreen blocScreen;
     
     
    	private JButton button;
     
    	public BlocScreen() {
    		setLayout(new BorderLayout());
    		add(new JLabel(IMAGE), BorderLayout.CENTER);
    		button = new JButton("Cacher");
    		JPanel buttonPanel = new JPanel();
    		buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER));
    		buttonPanel.add(button);
    		add(buttonPanel, BorderLayout.SOUTH);
    		button.setEnabled(false);
    		button.addActionListener((e)-> {
    			SwingUtilities.getWindowAncestor(this).setVisible(false);	
    			disableButton();
    		});
    	}
     
    	public void enableButton() {
    		button.setEnabled(true);
    	}
     
    	public void disableButton() {
    		button.setEnabled(false);
    	}
     
    	public static void main(String[] args) {
     
    		JFrame jframe = new JFrame();
    		jframe.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
     
    		blocScreen = new BlocScreen();
     
    		GraphicsEnvironment
            .getLocalGraphicsEnvironment().getScreenDevices()[0].setFullScreenWindow(jframe);
    		jframe.getContentPane().add(blocScreen);
     
    		jframe.setAlwaysOnTop(true);
     
    		/*Runtime.getRuntime().addShutdownHook(new Thread() {
    		    @Override
    		    public void run() {
    		    	main(new String[0]);
    		    }
    		});*/
     
     
    		Timer timer = new Timer();
    		timer.schedule(new TimerTask() {
     
    			@Override
    			public void run() {
    				jframe.setVisible(true);
    				try {
    					Thread.sleep(DURATION_BUTTON);
    				} catch (InterruptedException e) {
    				}
    				blocScreen.enableButton();
    				try {
    					Thread.sleep(DURATION);
    				} catch (InterruptedException e) {
    				}
    				jframe.setVisible(false);
    				blocScreen.disableButton();
    			}
    		}, DELAY, PERIOD);
     
    	}
     
    }
    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.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    A mon avis, de toute manière, tu ne pourras jamais bloquer le clavier globalement (les raccourcis système), en java du moins. C'est peut-être faisable avec une bibliothèque qui permet d'accèder aux fonctions système. J'ai utilisé une telle bibliothèque quand l'environnement était carbon, donc ça fait un bail. Mais je ne sais pas s'il y en a de plus actuelle.
    Est-ce que ces liens correspondent à ce que je cherche ? Je comprends pas bien mais ça à l'air intéressant non ?

    C'est parce que tu l'ajoutes au panel après l'avoir affiché (le panel/la frame) : dans ce cas, il faut demander à SWING de relayouter (revalidate()) et de redessiner (repaint()).
    Euh... je le vois pas, le conteur arrive à 3 et ça ferme la fenêtre... j'ai mis count pour débug parce que j'ai pas besoin de plein de boucles non plus.

    PS : tu devrais faire toutes les initialisations de la fenêtre en dehors de la tâche schédulée : ceci pour éviter que ça le fasse inutilement (et d'en éviter les conséquences de latence entre autres) à chaque exécution.
    Euh non non si je sors les frame.[] bah j'ai la masse d'erreurs avec syntaxe error "identifier expected"...

    Pourquoi utiliser un delayer pour le bouton alors que j'en ai déjà un ?
    Je voudrais :
    - ~ programme s'ouvre immédiatement au début
    - il affiche la fenêtre
    - ~ il attends x secondes
    - il affiche le bouton
    - ~ il ferme la fenêtre seulement si on clique le bouton
    - ~ il attend y secondes
    - il affiche la fenêtre à nouveau

    Voici mon code encore modifié :
    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    public class BlocScreen extends JPanel {
     
    	private final static ImageIcon IMAGE = new ImageIcon(BlocScreen.class.getResource("suricate.jpg"));
     
    	private final static long DELAY = 1000; // 1 seconde pour l'exemple
    	private final static long PERIOD = 20000; // 20 sec
    	private final static long DURATION_BUTTON = 3000; // 3 sec	
    	private final static long DURATION = 2000; // 2 sec
     
    	private static BlocScreen blocScreen;
     
     
    	private JButton button;
     
    	public BlocScreen() {
    		setLayout(new BorderLayout());
    		add(new JLabel(IMAGE), BorderLayout.CENTER);
    		button = new JButton("Cacher");
    		JPanel buttonPanel = new JPanel();
    		buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER));
    		buttonPanel.add(button);
    		add(buttonPanel, BorderLayout.SOUTH);
    		button.setEnabled(false);
    		button.addActionListener((e)-> {
    			SwingUtilities.getWindowAncestor(this).setVisible(false);	
    			disableButton();
    		});
    	}
     
    	public void enableButton() {
    		button.setEnabled(true);
    	}
     
    	public void disableButton() {
    		button.setEnabled(false);
    	}
     
    	public static void main(String[] args) {
     
    		JFrame jframe = new JFrame();
    		jframe.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
     
    		blocScreen = new BlocScreen();
     
    		GraphicsEnvironment
            .getLocalGraphicsEnvironment().getScreenDevices()[0].setFullScreenWindow(jframe);
    		jframe.getContentPane().add(blocScreen);
     
    		jframe.setAlwaysOnTop(true);
     
    		/*Runtime.getRuntime().addShutdownHook(new Thread() {
    		    @Override
    		    public void run() {
    		    	main(new String[0]);
    		    }
    		});*/
     
     
    		Timer timer = new Timer();
    		timer.schedule(new TimerTask() {
     
    			@Override
    			public void run() {
    				jframe.setVisible(true);
    				try {
    					Thread.sleep(DURATION_BUTTON);
    				} catch (InterruptedException e) {
    				}
    				blocScreen.enableButton();
    				try {
    					Thread.sleep(DURATION);
    				} catch (InterruptedException e) {
    				}
    				jframe.setVisible(false);
    				blocScreen.disableButton();
    			}
    		}, DELAY, PERIOD);
     
    	}
     
    }
    Problème :
    J'ai plein d'erreurs maintenant parceque je suis en 1.7 !
    J'ai "unbound JRE 1.8" et dans preference système on me dit que je suis en 1.8 !!!! mais dans terminal avec ".\java -version" il me dit 1.7
    Jean Naymar.
    Je l'ai installé sur mon mac...... je fais installed JRE y'a que 1.7 ! x( et en recherchant il trouve rien, et manuellement je sais pas où c'est ...

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    RE, ya du nouveau, j'ai réussi à DL le JDK 1.8 !

    mais OMG... :s
    noooon c'est pas bon du tout ça ! ça fait des trucs bizarres mon code maintenant :'(

    Je voudrais :
    - ~ programme s'ouvre immédiatement au début
    - il affiche la fenêtre
    - ~ il attends x secondes
    - il affiche le bouton
    - ~ il ferme la fenêtre seulement si on clique le bouton
    - ~ il attend y secondes
    - il affiche la fenêtre à nouveau


    J'ai tout mis, il est près à run !

    Code java : 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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    package fr.mecraft.world;
     
    import java.awt.Container;
    import java.awt.GraphicsEnvironment;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.Timer;
    import java.util.TimerTask;
     
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JRootPane;
    import javax.swing.JTabbedPane;
    import javax.swing.JTextField;
     
    public class ClasseM extends JFrame implements ActionListener{
    	private static JButton bouton;
    	private static final long serialVersionUID = 1L;
    	private final static long DELAY = 2000; // 2sec au départ (0 minutes)
    	private final static long PERIOD = 5000; // 5 sec caché (10min)
    	private final static long DURATION = 3000; // 3 sec affiché (2 minutes)
    	static int count = 0;
    	static JFrame frame = new JFrame();
     
    	public void actionPerformed(ActionEvent e) {
    		Object source = e.getSource();
    		if(source == bouton){
    			frame.dispose();
    		}
    	}
     
    	//PopupDebugger et padding.requestFocus(); ?
     
    	public static void main(String[] args) {
    		Timer timer0 = new Timer();
            timer0.schedule(new TimerTask() {
    			@Override
    			public void run() {
    				count = count + 1;
    		        //Border etched = (Border) BorderFactory.createEtchedBorder();
     
    		        //JPanel panel= new JPanel();
    		        //panel.setBorder(etched);
    		        JLabel image = new JLabel( new ImageIcon( "/Users/THEO/Documents/workspace/DTJF/photo.jpg"));
    		        //panel.setLayout(new BorderLayout());
    		        //panel.add(image);
     
    		        JTabbedPane onglets=new JTabbedPane(JTabbedPane.TOP,JTabbedPane.SCROLL_TAB_LAYOUT);	    
    		        JPanel onglet1 = new JPanel();
    		        JLabel label = new JLabel("coucou yoyo popo");
    		        onglet1.add(label);
    		        onglet1.add(image);
    		        onglets.addTab("Label", null, onglet1, "test");
     
    		        JPanel onglet2 = new JPanel();
    		        JTextField textField = new JTextField(20);
    		        onglet2.add(textField);
     
    		        onglets.addTab("Champ de saisie", null, onglet2, "Je suis le deuxieme onglet avec un champ de saisie.");
    		        Container contentPane = frame.getContentPane();
    		        contentPane.add(onglets);
    		        frame.pack();
     
    		        frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    		        frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
    		        //frame.setUndecorated(true);
    		        frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);
    		        frame.setAlwaysOnTop(true);
    		        GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0].setFullScreenWindow(frame);
    		        //frame.add(panel);
    				frame.setVisible(true);
    		        if(count>3){
    					System.exit(-1);
    				}
    				try {
    					Thread.sleep(DURATION);
    				} catch (InterruptedException e) {
    				}
    				bouton = new JButton("Cliquez ici !");
    				frame.add(bouton);
    				frame.revalidate();
    				frame.repaint();
    			}
    		}, DELAY, PERIOD);
     
     
        }
     
    }

    Est-ce que c'est bien ça pour bloquer le clavier ?
    https://code.google.com/p/jnativehook/
    ou
    https://github.com/tulskiy/jkeymaster
    ?

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Bonsoir, en fait je vais essayer de faire mon programme sans la paralysation du clavier !
    Mais comment donc faire la boucle avec seulement l'ouverture de la fenêtre, et lorsque que je la ferme, alors le compteur redémarre... ?



    Help s'il vous plait ça marche plus :'(

    Code java : 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
    package fr.mecraft.world;
    //imports et package
    import java.awt.Container;
    import java.awt.GraphicsEnvironment;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowEvent;
    import java.util.Timer;
    import java.util.TimerTask;
     
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JRootPane;
    import javax.swing.JTabbedPane;
    import javax.swing.JTextField;
     
    public abstract class ClasseM extends JFrame implements ActionListener{
    	private static final long serialVersionUID = 1L;
    	static int count = 0;
    	static JFrame frame = new JFrame();
    	Timer timer;
     
    	frame.addWindowListener(new WindowAdapter()
    	{
    	    public void windowClosing(WindowEvent e)
    	    {
    	       //Si la fenêtre est fermée avec cmd+w ? Alors je relance le compteur !!!
                  TimerTaskEx();
    	    }
    	});
     
    	public void TimerTaskEx() {
    		timer = new Timer();
    		timer.schedule(new Reminder(), 4 * 1000);
    		//String shutdownCommand;
    	}
    	class Reminder extends TimerTask {
    		public void run() {
    		JLabel image = new JLabel(new ImageIcon("/Users/THEO/Documents/workspace/DTJF/photo.jpg"));
    	        JTabbedPane onglets=new JTabbedPane(JTabbedPane.TOP,JTabbedPane.SCROLL_TAB_LAYOUT);	    
    	        JPanel onglet1 = new JPanel();
    	        onglet1.add(image);
    	        onglets.addTab("Label", null, onglet1, "test");
    	        JPanel onglet2 = new JPanel();
    	        JTextField textField = new JTextField(20);
    	        onglet2.add(textField);
    	        onglets.addTab("Champ de saisie", null, onglet2, "Je suis le deuxieme onglet avec un champ de saisie.");
    	        Container contentPane = frame.getContentPane();
    	        contentPane.add(onglets);
     
    	        frame.pack();
    	        frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    	        frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
    	        frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);
    	        frame.setAlwaysOnTop(true);
    	        GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()[0].setFullScreenWindow(frame);
    		frame.setVisible(true);
    		timer.cancel();
    		}
     
    	public void main(String[] args) {
    		TimerTaskEx();       
     
            }
    	}
    }

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Merci

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

Discussions similaires

  1. Fermeture de la fenêtre avec timer
    Par shayw dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/12/2014, 17h08
  2. Problème timer et gestion de fenêtres
    Par SatControl dans le forum Développement Windows
    Réponses: 2
    Dernier message: 01/03/2012, 08h57
  3. Timer et fermeture de la fenêtre
    Par takinelinfo dans le forum C#
    Réponses: 2
    Dernier message: 21/09/2011, 01h28
  4. Utiliser un Timer pour redessiner une fenêtre
    Par blueLight dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 07/11/2008, 21h12
  5. Gestion d'un timer en dehors d'une fenêtre
    Par eag35 dans le forum MFC
    Réponses: 3
    Dernier message: 04/07/2005, 14h25

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