Bonjour,
Y a t'il la possibilité lorsqu'un composant quelconque sois passé à une méthode sous le type Object, de récupérer par le nom de la propriété sa valeur.
Merci
Bonjour,
Y a t'il la possibilité lorsqu'un composant quelconque sois passé à une méthode sous le type Object, de récupérer par le nom de la propriété sa valeur.
Merci
Bonjour,
En java tout dérive de Object . Les méthodes lié à Object sont vraiment minimale.
Je te conseil de typer ton objet ou de faire un cast afin d'avoir accés au méthodes ascenceurs ( getter et setter ) qui te permettront d'accéder au différentes propriété de ton objet.
cordialement
Edit : si tu nous donne plus d'informations tu pourra être aidé plus efficacement.
les proprieté des composants a comparés
[/CODE]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 chkFields.addFieldCheck(txtEncoder.getClass(), "text"); chkFields.addFieldCheck(txtCrossDate.getClass(), "Text"); chkFields.addFieldCheck(txtCrossTime.getClass(), "Text"); chkFields.addFieldCheck(txtDescription.getClass(), "Text"); chkFields.addFieldCheck(txtOrganisateur.getClass(), "Text"); chkFields.addFieldCheck(txtDistance.getClass(), "Text"); chkFields.addFieldCheck(cboUnit.getClass(), "Text");
le module pour controler
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 package model; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collection; import javax.swing.event.ChangeListener; public class FieldsCheck extends KeyAdapter implements ActionListener { private static Collection<FieldsCheck> fchk; private Class<?> component; private String property; private Object oldValue; private ChangeListener changeListener; public FieldsCheck(){ fchk = new ArrayList<FieldsCheck>(); } public void addFieldCheck(Class<?> component, String property) { this.component = component; this.property = property; fchk.add(this); } protected Class<?> getComponent() { return component; } protected void setComponent(Class<?> component) { this.component = component; } protected String getProperty() { return property; } protected void setProperty(String property) { this.property = property; } protected ChangeListener getChangeListener() { return changeListener; } private void setChangeListener(ChangeListener changeListener) { this.changeListener = changeListener; } @Override public void keyPressed(KeyEvent e){ Field d; for (FieldsCheck c : fchk){ compare new value with old valeu System.out.println(c.oldValue); } } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub } }
Tu devrais trouver ton bonheur dans l'API de reflection ou l'API Beans.
Sinon tu as aussi Apache Commons Beans qui pourrait t'aider.
Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
Ceylon : Installation - Concepts de base - Typage - Appels et arguments
ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
Une solution vous convient ? N'oubliez pas le tag
Signature par pitipoisson
Bonjour
Je suppose que tu en a besoin ici pour comparer tes valeurs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 for (FieldsCheck c : fchk){ compare new value with old valeu System.out.println(c.oldValue); }
la classe FieldsCheck n'apparteint pas a java , tu as du donc l'ecrire.
Il te suffit de rajouter une méthode get sur l'attribut que tu souhaite accéder
et tu pourras ecrire c.getNewValue ou c.getValue a toi de voir .
Ton objet chkFields est une hashMap ? on a pas trop de visibiltié sur les autres classe ...
Au pire poste la classe FieldsCheck.java ca aidera forcément
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager