Tout d'abord, une information :il y a quelques semaines, j'avais demandé
sur ce forum une aide pour activer l'option "Quitter" que Mac OSX ajoute
automatiquement dans la barre de menu, au dessous du nom de l'appli JAVA.
J'avais eu une réponse mais qui n'a pas marché. Je signale un bon
article, trouvé depuis, sur la manière de faire des applis JAVA qui
restent compatibles pour d'autres plate-formes, mais qui remplissent les
spécifs habituelles des applications sur Mac :
http://homepage.mac.com/svc/macosxjava.pdf
D'autre part, une question.
Quelqu'un sait-il comment trouver tous les descendants d'une classe
donnée ? J'ai une classe d'ouvreurs de fichiers et je voudrais trouver
toutes les classes dérivées pour filtrer les fichiers dans le dialogue
d'ouverture. Merci de votre aide.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Benoît Chauvet
André AURENGO wrote:
Bonsoir D'autre part, une question. Quelqu'un sait-il comment trouver tous les descendants d'une classe donnée ? J'ai une classe d'ouvreurs de fichiers et je voudrais trouver toutes les classes dérivées pour filtrer les fichiers dans le dialogue d'ouverture. Merci de votre aide.
C'est (à mon avis) impossible. Certainement pour des raisons de sécurité, d'ailleurs, car un code exécutant des méthodes d'une classe dérivée sans la connaitre pourrait très facilement être détourné de son but par une classe malveillante (enfin, ca serait plutot le programme qui est malveillant, mais bon.)
Il faut plutot que tu enregistre toutes tes classes dérivées dans un gestionnaire, qui saura appeler la bonne classe. C'est certes un peu moins souple, car à chaque nouvelle implémentation d'une classe, tu dois ajouter la ligne de code d'enregistrement dans ton gestionnaire.
Si tu veux éviter de recompiler cette dernière à chaque fois, tu peux aussi écrire la liste de tes classes dans un fichier de properties.
Bon code.
-- Orabîg
André AURENGO wrote:
Bonsoir
D'autre part, une question.
Quelqu'un sait-il comment trouver tous les descendants d'une classe
donnée ? J'ai une classe d'ouvreurs de fichiers et je voudrais trouver
toutes les classes dérivées pour filtrer les fichiers dans le dialogue
d'ouverture. Merci de votre aide.
C'est (à mon avis) impossible. Certainement pour des raisons de sécurité,
d'ailleurs, car un code exécutant des méthodes d'une classe dérivée sans la
connaitre pourrait très facilement être détourné de son but par une classe
malveillante (enfin, ca serait plutot le programme qui est malveillant, mais
bon.)
Il faut plutot que tu enregistre toutes tes classes dérivées dans un
gestionnaire, qui saura appeler la bonne classe. C'est certes un peu moins
souple, car à chaque nouvelle implémentation d'une classe, tu dois ajouter
la ligne de code d'enregistrement dans ton gestionnaire.
Si tu veux éviter de recompiler cette dernière à chaque fois, tu peux aussi
écrire la liste de tes classes dans un fichier de properties.
Bonsoir D'autre part, une question. Quelqu'un sait-il comment trouver tous les descendants d'une classe donnée ? J'ai une classe d'ouvreurs de fichiers et je voudrais trouver toutes les classes dérivées pour filtrer les fichiers dans le dialogue d'ouverture. Merci de votre aide.
C'est (à mon avis) impossible. Certainement pour des raisons de sécurité, d'ailleurs, car un code exécutant des méthodes d'une classe dérivée sans la connaitre pourrait très facilement être détourné de son but par une classe malveillante (enfin, ca serait plutot le programme qui est malveillant, mais bon.)
Il faut plutot que tu enregistre toutes tes classes dérivées dans un gestionnaire, qui saura appeler la bonne classe. C'est certes un peu moins souple, car à chaque nouvelle implémentation d'une classe, tu dois ajouter la ligne de code d'enregistrement dans ton gestionnaire.
Si tu veux éviter de recompiler cette dernière à chaque fois, tu peux aussi écrire la liste de tes classes dans un fichier de properties.
Bon code.
-- Orabîg
André AURENGO
Benoît Chauvet a écrit:
André AURENGO wrote:
Bonsoir D'autre part, une question. Quelqu'un sait-il comment trouver tous les descendants d'une classe donnée ? J'ai une classe d'ouvreurs de fichiers et je voudrais trouver toutes les classes dérivées pour filtrer les fichiers dans le dialogue d'ouverture. Merci de votre aide.
C'est (à mon avis) impossible. Certainement pour des raisons de sécurité, d'ailleurs, car un code exécutant des méthodes d'une classe dérivée sans la connaitre pourrait très facilement être détourné de son but par une classe malveillante (enfin, ca serait plutot le programme qui est malveillant, mais bon.)
Il faut plutot que tu enregistre toutes tes classes dérivées dans un gestionnaire, qui saura appeler la bonne classe. C'est certes un peu moins souple, car à chaque nouvelle implémentation d'une classe, tu dois ajouter la ligne de code d'enregistrement dans ton gestionnaire.
Si tu veux éviter de recompiler cette dernière à chaque fois, tu peux aussi écrire la liste de tes classes dans un fichier de properties.
Bon code.
-- Orabîg
OK, je vais faire comme tu dis avec le fichier de properties, mais c'est dommage. Merci beaucoup et bonne fin de WE
Benoît Chauvet a écrit:
André AURENGO wrote:
Bonsoir
D'autre part, une question.
Quelqu'un sait-il comment trouver tous les descendants d'une classe
donnée ? J'ai une classe d'ouvreurs de fichiers et je voudrais trouver
toutes les classes dérivées pour filtrer les fichiers dans le dialogue
d'ouverture. Merci de votre aide.
C'est (à mon avis) impossible. Certainement pour des raisons de sécurité,
d'ailleurs, car un code exécutant des méthodes d'une classe dérivée sans la
connaitre pourrait très facilement être détourné de son but par une classe
malveillante (enfin, ca serait plutot le programme qui est malveillant, mais
bon.)
Il faut plutot que tu enregistre toutes tes classes dérivées dans un
gestionnaire, qui saura appeler la bonne classe. C'est certes un peu moins
souple, car à chaque nouvelle implémentation d'une classe, tu dois ajouter
la ligne de code d'enregistrement dans ton gestionnaire.
Si tu veux éviter de recompiler cette dernière à chaque fois, tu peux aussi
écrire la liste de tes classes dans un fichier de properties.
Bon code.
--
Orabîg
OK, je vais faire comme tu dis avec le fichier de properties, mais c'est
dommage.
Merci beaucoup et bonne fin de WE
Bonsoir D'autre part, une question. Quelqu'un sait-il comment trouver tous les descendants d'une classe donnée ? J'ai une classe d'ouvreurs de fichiers et je voudrais trouver toutes les classes dérivées pour filtrer les fichiers dans le dialogue d'ouverture. Merci de votre aide.
C'est (à mon avis) impossible. Certainement pour des raisons de sécurité, d'ailleurs, car un code exécutant des méthodes d'une classe dérivée sans la connaitre pourrait très facilement être détourné de son but par une classe malveillante (enfin, ca serait plutot le programme qui est malveillant, mais bon.)
Il faut plutot que tu enregistre toutes tes classes dérivées dans un gestionnaire, qui saura appeler la bonne classe. C'est certes un peu moins souple, car à chaque nouvelle implémentation d'une classe, tu dois ajouter la ligne de code d'enregistrement dans ton gestionnaire.
Si tu veux éviter de recompiler cette dernière à chaque fois, tu peux aussi écrire la liste de tes classes dans un fichier de properties.
Bon code.
-- Orabîg
OK, je vais faire comme tu dis avec le fichier de properties, mais c'est dommage. Merci beaucoup et bonne fin de WE
jerome moliere
André AURENGO wrote:
Benoît Chauvet a écrit:
André AURENGO wrote:
Bonsoir D'autre part, une question. Quelqu'un sait-il comment trouver tous les descendants d'une classe donnée ? J'ai une classe d'ouvreurs de fichiers et je voudrais trouver toutes les classes dérivées pour filtrer les fichiers dans le dialogue d'ouverture. Merci de votre aide.
C'est (à mon avis) impossible. Certainement pour des raisons de sécurité, d'ailleurs, car un code exécutant des méthodes d'une classe dérivée sans la connaitre pourrait très facilement être détourné de son but par une classe malveillante (enfin, ca serait plutot le programme qui est malveillant, mais bon.)
Il faut plutot que tu enregistre toutes tes classes dérivées dans un gestionnaire, qui saura appeler la bonne classe. C'est certes un peu moins souple, car à chaque nouvelle implémentation d'une classe, tu dois ajouter la ligne de code d'enregistrement dans ton gestionnaire.
Si tu veux éviter de recompiler cette dernière à chaque fois, tu peux aussi écrire la liste de tes classes dans un fichier de properties.
Bon code.
-- Orabîg
OK, je vais faire comme tu dis avec le fichier de properties, mais c'est dommage.
dommage ou logique ? crois tu que les gens de Sun puissent connaitre toutes les classes filels de JFrame ? je ne pense pas et je le souhaite pour eux :) quand tu designes une classe, si tu fais en sorte de la rendre extensible tu portes une reposnabilite (honorer ton contrat) mais pas plus :)
Jerome -- Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003 http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean1382212111941
André AURENGO wrote:
Benoît Chauvet a écrit:
André AURENGO wrote:
Bonsoir
D'autre part, une question.
Quelqu'un sait-il comment trouver tous les descendants d'une classe
donnée ? J'ai une classe d'ouvreurs de fichiers et je voudrais trouver
toutes les classes dérivées pour filtrer les fichiers dans le dialogue
d'ouverture. Merci de votre aide.
C'est (à mon avis) impossible. Certainement pour des raisons de sécurité,
d'ailleurs, car un code exécutant des méthodes d'une classe dérivée
sans la
connaitre pourrait très facilement être détourné de son but par une
classe
malveillante (enfin, ca serait plutot le programme qui est
malveillant, mais
bon.)
Il faut plutot que tu enregistre toutes tes classes dérivées dans un
gestionnaire, qui saura appeler la bonne classe. C'est certes un peu
moins
souple, car à chaque nouvelle implémentation d'une classe, tu dois
ajouter
la ligne de code d'enregistrement dans ton gestionnaire.
Si tu veux éviter de recompiler cette dernière à chaque fois, tu peux
aussi
écrire la liste de tes classes dans un fichier de properties.
Bon code.
--
Orabîg
OK, je vais faire comme tu dis avec le fichier de properties, mais c'est
dommage.
dommage ou logique ?
crois tu que les gens de Sun puissent connaitre toutes les classes
filels de JFrame ?
je ne pense pas et je le souhaite pour eux :)
quand tu designes une classe, si tu fais en sorte de la rendre
extensible tu portes une reposnabilite (honorer ton contrat)
mais pas plus :)
Jerome
--
Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003
http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean1382212111941
Bonsoir D'autre part, une question. Quelqu'un sait-il comment trouver tous les descendants d'une classe donnée ? J'ai une classe d'ouvreurs de fichiers et je voudrais trouver toutes les classes dérivées pour filtrer les fichiers dans le dialogue d'ouverture. Merci de votre aide.
C'est (à mon avis) impossible. Certainement pour des raisons de sécurité, d'ailleurs, car un code exécutant des méthodes d'une classe dérivée sans la connaitre pourrait très facilement être détourné de son but par une classe malveillante (enfin, ca serait plutot le programme qui est malveillant, mais bon.)
Il faut plutot que tu enregistre toutes tes classes dérivées dans un gestionnaire, qui saura appeler la bonne classe. C'est certes un peu moins souple, car à chaque nouvelle implémentation d'une classe, tu dois ajouter la ligne de code d'enregistrement dans ton gestionnaire.
Si tu veux éviter de recompiler cette dernière à chaque fois, tu peux aussi écrire la liste de tes classes dans un fichier de properties.
Bon code.
-- Orabîg
OK, je vais faire comme tu dis avec le fichier de properties, mais c'est dommage.
dommage ou logique ? crois tu que les gens de Sun puissent connaitre toutes les classes filels de JFrame ? je ne pense pas et je le souhaite pour eux :) quand tu designes une classe, si tu fais en sorte de la rendre extensible tu portes une reposnabilite (honorer ton contrat) mais pas plus :)
Jerome -- Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003 http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean1382212111941
Benoît Chauvet
jerome moliere wrote:
OK, je vais faire comme tu dis avec le fichier de properties, mais c'est dommage.
dommage ou logique ? crois tu que les gens de Sun puissent connaitre toutes les classes filels de JFrame ? je ne pense pas et je le souhaite pour eux :)
Moi non plus :)
quand tu designes une classe, si tu fais en sorte de la rendre extensible tu portes une reposnabilite (honorer ton contrat) mais pas plus :)
Je pense que ce que cherchais André, c'était l'équivalent de la méthode Class.getSuperclass(), mais dans l'autre sens (du genre Class[] getDescentClasses()). On aurait effectivement pu envisager que la JVM puisse tenir le compte de toutes les classes chargées en mémoire à un instant donné, et soit donc capable de trouver cette info. Mais évidement, une classe n'est généralement chargée en mémoire que lorsqu'elle est utilisée pour la première fois, et cette méthode aurait donc renvoyé des résultats complètement imprévisibles. (sans parler des problèmes de sécurité évoqués plus haut).
Tiens, Jérome, puisque je t'ai sous la main, tu pourrais essayer de répondre à mon post du 14/02 ? (et accessoirement, à mes mails ;)
-- Orabîg
jerome moliere wrote:
OK, je vais faire comme tu dis avec le fichier de properties, mais
c'est dommage.
dommage ou logique ?
crois tu que les gens de Sun puissent connaitre toutes les classes
filels de JFrame ?
je ne pense pas et je le souhaite pour eux :)
Moi non plus :)
quand tu designes une classe, si tu fais en sorte de la rendre
extensible tu portes une reposnabilite (honorer ton contrat)
mais pas plus :)
Je pense que ce que cherchais André, c'était l'équivalent de la méthode
Class.getSuperclass(), mais dans l'autre sens (du genre Class[]
getDescentClasses()). On aurait effectivement pu envisager que la JVM puisse
tenir le compte de toutes les classes chargées en mémoire à un instant
donné, et soit donc capable de trouver cette info. Mais évidement, une
classe n'est généralement chargée en mémoire que lorsqu'elle est utilisée
pour la première fois, et cette méthode aurait donc renvoyé des résultats
complètement imprévisibles. (sans parler des problèmes de sécurité évoqués
plus haut).
Tiens, Jérome, puisque je t'ai sous la main, tu pourrais essayer de répondre
à mon post du 14/02 ? (et accessoirement, à mes mails ;)
OK, je vais faire comme tu dis avec le fichier de properties, mais c'est dommage.
dommage ou logique ? crois tu que les gens de Sun puissent connaitre toutes les classes filels de JFrame ? je ne pense pas et je le souhaite pour eux :)
Moi non plus :)
quand tu designes une classe, si tu fais en sorte de la rendre extensible tu portes une reposnabilite (honorer ton contrat) mais pas plus :)
Je pense que ce que cherchais André, c'était l'équivalent de la méthode Class.getSuperclass(), mais dans l'autre sens (du genre Class[] getDescentClasses()). On aurait effectivement pu envisager que la JVM puisse tenir le compte de toutes les classes chargées en mémoire à un instant donné, et soit donc capable de trouver cette info. Mais évidement, une classe n'est généralement chargée en mémoire que lorsqu'elle est utilisée pour la première fois, et cette méthode aurait donc renvoyé des résultats complètement imprévisibles. (sans parler des problèmes de sécurité évoqués plus haut).
Tiens, Jérome, puisque je t'ai sous la main, tu pourrais essayer de répondre à mon post du 14/02 ? (et accessoirement, à mes mails ;)
-- Orabîg
jerome moliere
Tiens, Jérome, puisque je t'ai sous la main, tu pourrais essayer de répondre à mon post du 14/02 ? (et accessoirement, à mes mails ;)
pas mieux que nospam :( c'est un truc de ouf ne t'y engages pas sans bien prevoir le coup car c'est pas trivial :) autrement faut que tu ruses et que tu remplaces tout le desktop par un java desktop et là c'est jouable
jerome -- Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003 http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean1382212111941
Tiens, Jérome, puisque je t'ai sous la main, tu pourrais essayer de répondre
à mon post du 14/02 ? (et accessoirement, à mes mails ;)
pas mieux que nospam :(
c'est un truc de ouf ne t'y engages pas sans bien prevoir le coup car
c'est pas trivial :)
autrement faut que tu ruses et que tu remplaces tout le desktop par un
java desktop et là c'est jouable
jerome
--
Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003
http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean1382212111941
Tiens, Jérome, puisque je t'ai sous la main, tu pourrais essayer de répondre à mon post du 14/02 ? (et accessoirement, à mes mails ;)
pas mieux que nospam :( c'est un truc de ouf ne t'y engages pas sans bien prevoir le coup car c'est pas trivial :) autrement faut que tu ruses et que tu remplaces tout le desktop par un java desktop et là c'est jouable
jerome -- Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003 http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean1382212111941
Benoît Chauvet
pas mieux que nospam :( c'est un truc de ouf ne t'y engages pas sans bien prevoir le coup car c'est pas trivial :) autrement faut que tu ruses et que tu remplaces tout le desktop par un java desktop et là c'est jouable
Mouaip, de toute façon, ce que je voudrais, c'est que l'utilisateur continue d'utiliser une autre application (non-java) comme si de rien n'était, pendant que l'application Java "en tache de fond" fait des captures d'écran , manipule la souris à la place de l'utilisateur de temps à autre (ça, ca marche déjà), mais aussi, puisse avoir des indices sur ce que l'utilisateur est en train de faire. Et malheureusement, sans connaitre la position de la souris à tout moment, c'est grillé.
Tant pis, et merci à vous deux.
-- Orabîg
pas mieux que nospam :(
c'est un truc de ouf ne t'y engages pas sans bien prevoir le coup car
c'est pas trivial :)
autrement faut que tu ruses et que tu remplaces tout le desktop par un
java desktop et là c'est jouable
Mouaip, de toute façon, ce que je voudrais, c'est que l'utilisateur continue
d'utiliser une autre application (non-java) comme si de rien n'était,
pendant que l'application Java "en tache de fond" fait des captures d'écran
, manipule la souris à la place de l'utilisateur de temps à autre (ça, ca
marche déjà), mais aussi, puisse avoir des indices sur ce que l'utilisateur
est en train de faire. Et malheureusement, sans connaitre la position de la
souris à tout moment, c'est grillé.
pas mieux que nospam :( c'est un truc de ouf ne t'y engages pas sans bien prevoir le coup car c'est pas trivial :) autrement faut que tu ruses et que tu remplaces tout le desktop par un java desktop et là c'est jouable
Mouaip, de toute façon, ce que je voudrais, c'est que l'utilisateur continue d'utiliser une autre application (non-java) comme si de rien n'était, pendant que l'application Java "en tache de fond" fait des captures d'écran , manipule la souris à la place de l'utilisateur de temps à autre (ça, ca marche déjà), mais aussi, puisse avoir des indices sur ce que l'utilisateur est en train de faire. Et malheureusement, sans connaitre la position de la souris à tout moment, c'est grillé.