Dans mon application Swing, j'ai une classe POJO appelée Command. La commande a quelques sous-classes. La plupart des sous-classes de commande se composent de 2 ou 3 chaînes. Mais les données de l'une des sous-classes Command ont un format de données assez différent.comment imbriquer des composants Swing compliqués
J'ai également une classe appelée CommandEditor, qui crée l'interface graphique pour afficher et modifier les différentes sous-classes de commande. CommandEditor crée un JPanel qui contient une boîte horizontale. Pour les sous-classes Command contenant 2 ou 3 Strings, la Box contient 2 ou 3 JTextField correspondants. Et pour la sous-classe impaire, la boîte contient les widgets appropriés pour afficher et modifier les données de cette sous-classe.
Je suis capable de mettre en place un formulaire qui contient un tas de CommandEditors, et tout fonctionne bien.
Mais maintenant j'ai besoin de gérer une ArrayList de Commandes. Toutes les commandes de ArrayList sont garanties être de la même sous-classe, ce qui signifie que les CommandEditors correspondants pour chacune des Commandes sembleront fondamentalement les mêmes (ayant une forme similaire)
Ce que le client veut, c'est quelque chose qui ressemble comme une table de CommandEditors.
Quelle est la meilleure façon de faire cela? Puis-je passer un vecteur d'objets CommandEditor dans un JList (de sorte que le JList place les CommandEditors dans des rangées, et que les CommandEditors donnent l'illusion d'avoir des colonnes)? Ou y a-t-il un meilleur moyen?