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
|
//Je dérive de JCombobox pour avoir des listes personnalisés
//je pensais faire une classe mère abstraite pour gérer les méthodes communes comme pour l'option "all/tout", qui est commune à toute mes listres
//Je n'ai pas utilisé la générécité sur la combobox
//car le compilateur lève une erreur//Cannot instantiate the type Compte BComboBoxComptes.java
public class BComboBoxComptes extends JComboBox {
//en fonction de l'état si c'est vrai
private boolean allOption = false;
//Cette interface permet d'appeler le DAO pour remplir la liste avec les objets métiers pour lesquels elle est destinée
//J'ai plusieurs implémentations pour les DAO
private XContextInterface xContext;
//Je construits une JCombobox remplie
BComboBoxComptes(XContextInterface xContext) {
super();
this.xContext = xContext;
//Je récupère mes objets métiers et je rempli ma liste grace l'interface
addItem(xContext.getComptes().toArray());
setSelectedIndex(0);
}
//Là les deux méthode utilitaire pour ajouter ou supprimer l'option "all/tout"
//Ces méthodes sont communes à plusieurs de me listes
//d'ou mon besoin de passer par un généric une classe mère ou une interface et de construire l'objet "ALL/Tout" d'après le généric déclarer dans l'implémentation concrète
//Je peux revenir sur le fait qu'on puisse l'ajouter ou la supprimer après la création
/§/Ca simplifirai le code et se besoin n'est pas vraimen utile
//en ajoutant un paramètre boolean allOption dans le constructeur par défaut à false
//mais j'au rai toujours besoin de construire en fonction du type générique
public void setAllOption() {
if (!allOption) {
//On crée un objet métier du même type avec comme clef all par convention
Compte compte = new Compte("ALL", "tout");
//ici je crée un item tout, mais j'envi ne trouve pas cette option très heureuse
insertItemAt(compte, 0);
allOption = true;
}
}
public void removeAlloption() {
if (allOption) {
removeItemAt(0);
}
}
//Et globallement je vais essayer de reprendre des méthodes du
public void setSelectedComptes(String numeroCompte) {
(...) |