Probleme interface java
Résolu/Fermé
xko
Messages postés
55
Date d'inscription
mardi 15 mars 2016
Statut
Membre
Dernière intervention
28 juillet 2022
-
Modifié le 29 mai 2017 à 18:51
xko Messages postés 55 Date d'inscription mardi 15 mars 2016 Statut Membre Dernière intervention 28 juillet 2022 - 1 juin 2017 à 00:57
xko Messages postés 55 Date d'inscription mardi 15 mars 2016 Statut Membre Dernière intervention 28 juillet 2022 - 1 juin 2017 à 00:57
A voir également:
- Probleme interface java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java itel 5360 ✓ - Forum Jeux vidéo
- Ubuntu sans interface graphique ✓ - Forum Linux / Unix
1 réponse
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
29 mai 2017 à 19:45
29 mai 2017 à 19:45
Bonjour,
Où est le code de ton interface graphique ?
Quelle techno tu utilises ? AWT, Swing, JavaFX, autre ?
Remarque : on peut simplifier un peu le Watcher, d'une part car le type sera forcément ENTRY_MODIFY puisque le register est configuré ainsi, d'autre part parce qu'on n'a pas besoin de savoir que le contexte est de type Path pour faire le toString() dessus.
Où est le code de ton interface graphique ?
Quelle techno tu utilises ? AWT, Swing, JavaFX, autre ?
Remarque : on peut simplifier un peu le Watcher, d'une part car le type sera forcément ENTRY_MODIFY puisque le register est configuré ainsi, d'autre part parce qu'on n'a pas besoin de savoir que le contexte est de type Path pour faire le toString() dessus.
import java.nio.file.*; public class JavaApplication6 { public static void main(String[] args) throws Exception { // Configure WatchService Path path = Paths.get("C:/Users/TOSHIBA/Pictures"); WatchService service = path.getFileSystem().newWatchService(); path.register(service, StandardWatchEventKinds.ENTRY_MODIFY); System.out.println("Watch Service registered for :" + path); // Listen WatchEvent WatchKey key; do { key = service.take(); for (WatchEvent<?> event : key.pollEvents()) { if (event.context().toString().equals("DirectoryWatchDemo.java")) System.out.println("My source file has changed!!!"); } } while (key.reset()); } }
Modifié le 30 mai 2017 à 02:26
merci pour votre reponse voici mon code (swing) :
et est ce que je peux afficher les resultats de ce code sur une fenetre et quand je ferme la fenetre l'execution se termine ???
bonne soirée
30 mai 2017 à 12:56
Ce qu'il faut c'est exécuter ta boucle while dans un autre thread, par exemple avec un SwingWorker en tâche de fond, c'est également lui qui gérera l'arrêt du traitement lorsque l'application se ferme.
Remarque : faire du Swing avec NetBeans c'est cool car ça fait tes fenêtres automatiquement, mais avec un code tout moche, difficile à aller modifier à la main sans que ça perde NetBeans et certainement pas fait pour comprendre comment ça fonctionne (notamment car une partie du code n'est pas standard).
WindowBuilder sous Eclipse est mieux fait, d'une part le code généré est plus propre, en pur Java, et d'autre part en cas d'ajout de composants dans le code il est capable d'aller de les retrouver dans l'éditeur, ce qui permet d'être plus libre dans le code et de mieux comprendre ce que l'on fait.
Remarque : Swing n'est plus mis à jour, depuis Java 8 la bibliothèque officielle pour faire des interfaces graphiques c'est JavaFX.
Modifié le 30 mai 2017 à 23:33
J'ai remplacé les System.out.println par un setText dans le label où tu mets ton fond.png, mais comme je n'ai pas cette image je ne sais pas trop ce que ça donne, si tu ne vois pas le texte enlève le setIcon (ligne 35)
Remarque : j'en ai profité pour faire du ménage de tout ce que NetBeans rajoute inutilement pour que le code soit plus propre (je l'ai testé avec WindowBuilder)
NB. Ci-dessous une impression écran de WindowBuilder, c'est tout à fait équivalent à ce que propose NetBeans, à part que le code généré sur Eclipse est bien plus facile à modifier par la suite.
31 mai 2017 à 01:46
31 mai 2017 à 15:35