Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour
:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'est
ce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour
:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'est
ce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour
:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'est
ce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Re Bernard !
Ben voila ca commence à devenir interessant :)
Donc tu vas gérer une ArrayList d'objets d'un type quelconque.
Si on regarde AbstractTableModel, on voit qu'il faut définir 3 méthodes:
getRowCount() -> il suffira de renvoyer liste.size()
pour les 2 autres, je ne vois pas d'autre moyen de faire que d'utiliser la
reflexivite, si tu désires n'avoir qu'une
sous-classe de AbstractTableModel. Attention, cette premiere approche sera
probablement insuffisante, car
je pars de l'hypothese que tu veux afficher TOUS les attributs de la
classe
Toto, et dans un ordre aleatoire vu que
getDeclaredFields() ne donne aucune certitude sur le tri des champs
retournes
(ceci dit tu peux trier ensuite toi meme par ordre alpha par exemple).
Je vois bien un truc dans ce style donc, EN TRES GROS:
Pour récuperer la classe concernees, ben il suffit de recuperer par
exemple
le 1er objet de la liste et de faire
un getClass dessus.
getColumnCount() -> faire un getDeclaredFields() sur la classe et ses
superclasses. Tu vas ainsi constituer un tableau d'objets
Field. La taille de ce tableau sera le resultat de la methode.
getValueAt(row, col) -> pour la ligne pas de pb, il suffit de prendre la
n-ieme ligne de ta liste.
Pour la colonne c un peu + complique, il va falloir que tu te plonges dans
la reflexivite. Une piste:
recuperer l'objet Field de numero col dans ton tableau, et faire un
field.getValue(ligne recuperee avant dans la liste)
Bon courage !
--
Celui qui lutte contre des monstres doit prendre garde, dans le combat, à
ne
pas devenir un monstre lui-même
"Bernard Koninckx" a écrit dans le message
news: 40877980$0$11000$Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse
être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de
personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'estce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Re Bernard !
Ben voila ca commence à devenir interessant :)
Donc tu vas gérer une ArrayList d'objets d'un type quelconque.
Si on regarde AbstractTableModel, on voit qu'il faut définir 3 méthodes:
getRowCount() -> il suffira de renvoyer liste.size()
pour les 2 autres, je ne vois pas d'autre moyen de faire que d'utiliser la
reflexivite, si tu désires n'avoir qu'une
sous-classe de AbstractTableModel. Attention, cette premiere approche sera
probablement insuffisante, car
je pars de l'hypothese que tu veux afficher TOUS les attributs de la
classe
Toto, et dans un ordre aleatoire vu que
getDeclaredFields() ne donne aucune certitude sur le tri des champs
retournes
(ceci dit tu peux trier ensuite toi meme par ordre alpha par exemple).
Je vois bien un truc dans ce style donc, EN TRES GROS:
Pour récuperer la classe concernees, ben il suffit de recuperer par
exemple
le 1er objet de la liste et de faire
un getClass dessus.
getColumnCount() -> faire un getDeclaredFields() sur la classe et ses
superclasses. Tu vas ainsi constituer un tableau d'objets
Field. La taille de ce tableau sera le resultat de la methode.
getValueAt(row, col) -> pour la ligne pas de pb, il suffit de prendre la
n-ieme ligne de ta liste.
Pour la colonne c un peu + complique, il va falloir que tu te plonges dans
la reflexivite. Une piste:
recuperer l'objet Field de numero col dans ton tableau, et faire un
field.getValue(ligne recuperee avant dans la liste)
Bon courage !
--
Celui qui lutte contre des monstres doit prendre garde, dans le combat, à
ne
pas devenir un monstre lui-même
"Bernard Koninckx" <koninckxbernard@excite.com> a écrit dans le message
news: 40877980$0$11000$a0ced6e1@news.skynet.be...
Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse
être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de
personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour
:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'est
ce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Re Bernard !
Ben voila ca commence à devenir interessant :)
Donc tu vas gérer une ArrayList d'objets d'un type quelconque.
Si on regarde AbstractTableModel, on voit qu'il faut définir 3 méthodes:
getRowCount() -> il suffira de renvoyer liste.size()
pour les 2 autres, je ne vois pas d'autre moyen de faire que d'utiliser la
reflexivite, si tu désires n'avoir qu'une
sous-classe de AbstractTableModel. Attention, cette premiere approche sera
probablement insuffisante, car
je pars de l'hypothese que tu veux afficher TOUS les attributs de la
classe
Toto, et dans un ordre aleatoire vu que
getDeclaredFields() ne donne aucune certitude sur le tri des champs
retournes
(ceci dit tu peux trier ensuite toi meme par ordre alpha par exemple).
Je vois bien un truc dans ce style donc, EN TRES GROS:
Pour récuperer la classe concernees, ben il suffit de recuperer par
exemple
le 1er objet de la liste et de faire
un getClass dessus.
getColumnCount() -> faire un getDeclaredFields() sur la classe et ses
superclasses. Tu vas ainsi constituer un tableau d'objets
Field. La taille de ce tableau sera le resultat de la methode.
getValueAt(row, col) -> pour la ligne pas de pb, il suffit de prendre la
n-ieme ligne de ta liste.
Pour la colonne c un peu + complique, il va falloir que tu te plonges dans
la reflexivite. Une piste:
recuperer l'objet Field de numero col dans ton tableau, et faire un
field.getValue(ligne recuperee avant dans la liste)
Bon courage !
--
Celui qui lutte contre des monstres doit prendre garde, dans le combat, à
ne
pas devenir un monstre lui-même
"Bernard Koninckx" a écrit dans le message
news: 40877980$0$11000$Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse
être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de
personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'estce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Re Bernard !
Ben voila ca commence à devenir interessant :)
Donc tu vas gérer une ArrayList d'objets d'un type quelconque.
Si on regarde AbstractTableModel, on voit qu'il faut définir 3 méthodes:
getRowCount() -> il suffira de renvoyer liste.size()
pour les 2 autres, je ne vois pas d'autre moyen de faire que d'utiliser la
reflexivite, si tu désires n'avoir qu'une
sous-classe de AbstractTableModel. Attention, cette premiere approche sera
probablement insuffisante, car
je pars de l'hypothese que tu veux afficher TOUS les attributs de la
classe
Toto, et dans un ordre aleatoire vu que
getDeclaredFields() ne donne aucune certitude sur le tri des champs
retournes
(ceci dit tu peux trier ensuite toi meme par ordre alpha par exemple).
Je vois bien un truc dans ce style donc, EN TRES GROS:
Pour récuperer la classe concernees, ben il suffit de recuperer par
exemple
le 1er objet de la liste et de faire
un getClass dessus.
getColumnCount() -> faire un getDeclaredFields() sur la classe et ses
superclasses. Tu vas ainsi constituer un tableau d'objets
Field. La taille de ce tableau sera le resultat de la methode.
getValueAt(row, col) -> pour la ligne pas de pb, il suffit de prendre la
n-ieme ligne de ta liste.
Pour la colonne c un peu + complique, il va falloir que tu te plonges dans
la reflexivite. Une piste:
recuperer l'objet Field de numero col dans ton tableau, et faire un
field.getValue(ligne recuperee avant dans la liste)
Bon courage !
--
Celui qui lutte contre des monstres doit prendre garde, dans le combat, à
ne
pas devenir un monstre lui-même
"Bernard Koninckx" a écrit dans le message
news: 40877980$0$11000$Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse
être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de
personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'estce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Re Bernard !
Ben voila ca commence à devenir interessant :)
Donc tu vas gérer une ArrayList d'objets d'un type quelconque.
Si on regarde AbstractTableModel, on voit qu'il faut définir 3 méthodes:
getRowCount() -> il suffira de renvoyer liste.size()
pour les 2 autres, je ne vois pas d'autre moyen de faire que d'utiliser la
reflexivite, si tu désires n'avoir qu'une
sous-classe de AbstractTableModel. Attention, cette premiere approche sera
probablement insuffisante, car
je pars de l'hypothese que tu veux afficher TOUS les attributs de la
classe
Toto, et dans un ordre aleatoire vu que
getDeclaredFields() ne donne aucune certitude sur le tri des champs
retournes
(ceci dit tu peux trier ensuite toi meme par ordre alpha par exemple).
Je vois bien un truc dans ce style donc, EN TRES GROS:
Pour récuperer la classe concernees, ben il suffit de recuperer par
exemple
le 1er objet de la liste et de faire
un getClass dessus.
getColumnCount() -> faire un getDeclaredFields() sur la classe et ses
superclasses. Tu vas ainsi constituer un tableau d'objets
Field. La taille de ce tableau sera le resultat de la methode.
getValueAt(row, col) -> pour la ligne pas de pb, il suffit de prendre la
n-ieme ligne de ta liste.
Pour la colonne c un peu + complique, il va falloir que tu te plonges dans
la reflexivite. Une piste:
recuperer l'objet Field de numero col dans ton tableau, et faire un
field.getValue(ligne recuperee avant dans la liste)
Bon courage !
--
Celui qui lutte contre des monstres doit prendre garde, dans le combat, à
ne
pas devenir un monstre lui-même
"Bernard Koninckx" <koninckxbernard@excite.com> a écrit dans le message
news: 40877980$0$11000$a0ced6e1@news.skynet.be...
Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse
être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de
personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour
:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'est
ce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Re Bernard !
Ben voila ca commence à devenir interessant :)
Donc tu vas gérer une ArrayList d'objets d'un type quelconque.
Si on regarde AbstractTableModel, on voit qu'il faut définir 3 méthodes:
getRowCount() -> il suffira de renvoyer liste.size()
pour les 2 autres, je ne vois pas d'autre moyen de faire que d'utiliser la
reflexivite, si tu désires n'avoir qu'une
sous-classe de AbstractTableModel. Attention, cette premiere approche sera
probablement insuffisante, car
je pars de l'hypothese que tu veux afficher TOUS les attributs de la
classe
Toto, et dans un ordre aleatoire vu que
getDeclaredFields() ne donne aucune certitude sur le tri des champs
retournes
(ceci dit tu peux trier ensuite toi meme par ordre alpha par exemple).
Je vois bien un truc dans ce style donc, EN TRES GROS:
Pour récuperer la classe concernees, ben il suffit de recuperer par
exemple
le 1er objet de la liste et de faire
un getClass dessus.
getColumnCount() -> faire un getDeclaredFields() sur la classe et ses
superclasses. Tu vas ainsi constituer un tableau d'objets
Field. La taille de ce tableau sera le resultat de la methode.
getValueAt(row, col) -> pour la ligne pas de pb, il suffit de prendre la
n-ieme ligne de ta liste.
Pour la colonne c un peu + complique, il va falloir que tu te plonges dans
la reflexivite. Une piste:
recuperer l'objet Field de numero col dans ton tableau, et faire un
field.getValue(ligne recuperee avant dans la liste)
Bon courage !
--
Celui qui lutte contre des monstres doit prendre garde, dans le combat, à
ne
pas devenir un monstre lui-même
"Bernard Koninckx" a écrit dans le message
news: 40877980$0$11000$Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse
être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de
personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'estce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Peut-être que la solution (description du problème) que je viens de
décrire est trop compliquée ammetre en place. Avez-vous d'autres
suggestions ?
Peut-être que la solution (description du problème) que je viens de
décrire est trop compliquée ammetre en place. Avez-vous d'autres
suggestions ?
Peut-être que la solution (description du problème) que je viens de
décrire est trop compliquée ammetre en place. Avez-vous d'autres
suggestions ?
Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour
:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'est
ce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Tu vas sûrement me trouver lourd et insistant, mais qu'elle sera réellement
Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour
:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'est
ce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Tu vas sûrement me trouver lourd et insistant, mais qu'elle sera réellement
Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour
:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'est
ce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Tu vas sûrement me trouver lourd et insistant, mais qu'elle sera réellement
"Bernard Koninckx" a écrit dans le message de
news: 40877980$0$11000$Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse
être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de
personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'estce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Tu vas sûrement me trouver lourd et insistant, mais qu'elle sera
réellement
l'utilitée de ta class ? Tu souhaites vraiment pouvoir afficher n'importe
quels types d'objects ? Même des objects déjà créer et que tu ne peux pas
modifier ? Si la réponse est oui, la réflexivitée me semble être la seule
solution.
Si non, tu n'as pas forcément besoin de savoir quel est la class de
l'object
que tu dois afficher. Une piste, tu peux créer une interface qui
représentera les objects que tu dois afficher dans ta JTable (ou autre).
Tous les objets qui doivent être affichés devront bien sûr implémenter
cette
interface.
Cette interface devra être composées de toutes les méthodes que tu as
besoin
pour ton affichage: ¨Par exemple :
<code>
public interface Displayable
{
/* te renseigne sur le nom des colonnes à afficher pour chaque class
d'objet */
public String[] getColumnName();
/* affiche la valeur de l'object correspondant à la colonne */
public String getDisplayValue(String column);
/* ... */
}
</code>
Après il te suffit de savoir que tes objets sont des displayables pour
pouvoir les afficher sans problème dans ta table.
Voila, en espérant avoir été CONSTRUCTIF.
"Bernard Koninckx" <koninckxbernard@excite.com> a écrit dans le message de
news: 40877980$0$11000$a0ced6e1@news.skynet.be...
Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse
être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de
personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour
:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'est
ce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Tu vas sûrement me trouver lourd et insistant, mais qu'elle sera
réellement
l'utilitée de ta class ? Tu souhaites vraiment pouvoir afficher n'importe
quels types d'objects ? Même des objects déjà créer et que tu ne peux pas
modifier ? Si la réponse est oui, la réflexivitée me semble être la seule
solution.
Si non, tu n'as pas forcément besoin de savoir quel est la class de
l'object
que tu dois afficher. Une piste, tu peux créer une interface qui
représentera les objects que tu dois afficher dans ta JTable (ou autre).
Tous les objets qui doivent être affichés devront bien sûr implémenter
cette
interface.
Cette interface devra être composées de toutes les méthodes que tu as
besoin
pour ton affichage: ¨Par exemple :
<code>
public interface Displayable
{
/* te renseigne sur le nom des colonnes à afficher pour chaque class
d'objet */
public String[] getColumnName();
/* affiche la valeur de l'object correspondant à la colonne */
public String getDisplayValue(String column);
/* ... */
}
</code>
Après il te suffit de savoir que tes objets sont des displayables pour
pouvoir les afficher sans problème dans ta table.
Voila, en espérant avoir été CONSTRUCTIF.
"Bernard Koninckx" a écrit dans le message de
news: 40877980$0$11000$Bonjour à tous,
Je cherche a créer un objet héritant de AbstractTableModel qui puisse
être
réutilisable partout. Il me semble que l'on m'aie déjà répondu que les
ArrayList était un choix d'utilisation plus judicieux que les Vector.
Cependant, je souhaite que cet ArrayList soit constitué soit de
personnes,
soit de références d'entreprises, ...
Pour que l'object soit le plus général possible, comment puis-je faire
pour:
- Savoir quel est le type de class d'un élément donnée de mon objet
personne, à partir de la TableModel
- ...
A savoir que je ne préfèrerais pas utiliser de switch .
J'ai pensé entre autre à la réflexivité sur les beans, mais peut-être
n'estce pas la solution idéale.
Merci à tous pour vos remarques CONSTRUCTIVES, ...
Bernard
Tu vas sûrement me trouver lourd et insistant, mais qu'elle sera
réellement
l'utilitée de ta class ? Tu souhaites vraiment pouvoir afficher n'importe
quels types d'objects ? Même des objects déjà créer et que tu ne peux pas
modifier ? Si la réponse est oui, la réflexivitée me semble être la seule
solution.
Si non, tu n'as pas forcément besoin de savoir quel est la class de
l'object
que tu dois afficher. Une piste, tu peux créer une interface qui
représentera les objects que tu dois afficher dans ta JTable (ou autre).
Tous les objets qui doivent être affichés devront bien sûr implémenter
cette
interface.
Cette interface devra être composées de toutes les méthodes que tu as
besoin
pour ton affichage: ¨Par exemple :
<code>
public interface Displayable
{
/* te renseigne sur le nom des colonnes à afficher pour chaque class
d'objet */
public String[] getColumnName();
/* affiche la valeur de l'object correspondant à la colonne */
public String getDisplayValue(String column);
/* ... */
}
</code>
Après il te suffit de savoir que tes objets sont des displayables pour
pouvoir les afficher sans problème dans ta table.
Voila, en espérant avoir été CONSTRUCTIF.
Bernard Koninckx wrote:Peut-être que la solution (description du problème) que je viens de
décrire est trop compliquée ammetre en place. Avez-vous d'autres
suggestions ?
Je suis pas certain d'avoir compris complètement le besoin, mais peut-être
que tu devrais configurer ton modèle avec une map contenant une liste de
propriété à afficher (le nom du bean) pour chaque classe d'objet
rencontré.
Ce paramètrage pourrait être fait à la main (programmation) ou via un
fichier externe (XML me semble un bon choix)
Tu pourras ensuite aller un peu plus loin, en précisant pour chaque bean
quel est le renderer et l'editeur à utiliser (si ce n'est pas un bean de
type simple ou String, auquel cas, tu peux prendre le renderer par
défaut),
s'il est éditable, etc...
--
Orabîg
Bernard Koninckx wrote:
Peut-être que la solution (description du problème) que je viens de
décrire est trop compliquée ammetre en place. Avez-vous d'autres
suggestions ?
Je suis pas certain d'avoir compris complètement le besoin, mais peut-être
que tu devrais configurer ton modèle avec une map contenant une liste de
propriété à afficher (le nom du bean) pour chaque classe d'objet
rencontré.
Ce paramètrage pourrait être fait à la main (programmation) ou via un
fichier externe (XML me semble un bon choix)
Tu pourras ensuite aller un peu plus loin, en précisant pour chaque bean
quel est le renderer et l'editeur à utiliser (si ce n'est pas un bean de
type simple ou String, auquel cas, tu peux prendre le renderer par
défaut),
s'il est éditable, etc...
--
Orabîg
Bernard Koninckx wrote:Peut-être que la solution (description du problème) que je viens de
décrire est trop compliquée ammetre en place. Avez-vous d'autres
suggestions ?
Je suis pas certain d'avoir compris complètement le besoin, mais peut-être
que tu devrais configurer ton modèle avec une map contenant une liste de
propriété à afficher (le nom du bean) pour chaque classe d'objet
rencontré.
Ce paramètrage pourrait être fait à la main (programmation) ou via un
fichier externe (XML me semble un bon choix)
Tu pourras ensuite aller un peu plus loin, en précisant pour chaque bean
quel est le renderer et l'editeur à utiliser (si ce n'est pas un bean de
type simple ou String, auquel cas, tu peux prendre le renderer par
défaut),
s'il est éditable, etc...
--
Orabîg
Est-ce que ce n'est as au niveau de la vue qu'il faut placer le
CellRenderer?
Est-ce que ce n'est as au niveau de la vue qu'il faut placer le
CellRenderer?
Est-ce que ce n'est as au niveau de la vue qu'il faut placer le
CellRenderer?