La bonne façon de remplir un JComboBox?
Je suis actuellement à la construction d'une application en Java sur Eclipse comme un guide d'aide à la programmation des fondamentaux et de base de programmation java, c'est purement éducatif et dans le seul but d'être en mesure de thèmes de référence facilement et ma pratique de la programmation que j'ai appris par la programmation dans ce tutoriel de l'application.
Le contenu de la demande va augmenter à mesure que le temps passe et comme j'en apprendre plus en plus de composants de la programmation.
Donc, ma première question revient à la forme correcte.
Je suis aide d'une liste déroulante (JComboBox
) afin de sélectionner des thèmes du sein de l'interface. Je voudrais remplir la liste et garder le programme propre et bien rangé. Donc ma question est comment remplir la JComboBox
afin de limiter l'alourdir le code. Peut-être un fichier texte à partir de laquelle j'ai pu ajouter des rubriques à des séparément et de les modifier de manière plus efficace? Je suis, après procédure de programmation correcte plutôt que de toutes les façons que je pouvais le faire. Je sais que je pourrais utiliser un ArrayList
, cependant, je suis désireux de comprendre les choix pris lors de l'utilisation de grandes quantités de contenu plutôt que très peu.
Merci,
Simon
OriginalL'auteur London Student | 2012-06-25
Vous devez vous connecter pour publier un commentaire.
Je pense que la façon la plus propre est de définir une coutume ComboBoxModel.
De cette façon, vous pouvez définir un modèle de données pour votre zone de liste déroulante, la séparation de la partie dans lequel la zone de liste déroulante est créé à partir de la gestion des données lui-même.
Probablement à l'aide d'un fichier texte est une bonne chose, puisque vous n'avez pas à modifier le code lorsqu'une nouvelle entrée est insérée. Vous pouvez définir la lecture du fichier de la procédure à l'intérieur de votre ComboBoxModel constructeur. De cette façon, chaque fois que vous exécutez le programme, vous trouverez des mises à jour du composant combobox contenu.
ArrayList n'est pas un bon choix si le contenu ne peut pas être mis à jour par l'application elle-même. Si vous êtes coder en dur le contenu d'une liste de tableaux, vous serez obligé de modifier le code à chaque fois que vous avez besoin pour ajouter une nouvelle entrée.
Un petit exemple:
Une fois écrit ce dont vous avez besoin vous n'aurez pas à modifier le code plus. Et vous pouvez utiliser le même modèle pour plusieurs JComboBox aussi.
Envisagez d'utiliser un
DefaultComboBoxModel
qui implémente déjà des méthodes utiles.OriginalL'auteur Heisenbug
La façon la plus simple de remplir une zone de liste déroulante est (comme La documentation Java unis) est:
C'est, cependant, pas la meilleure option que vous pourriez aller pour. Le remplissage de votre zone de liste déroulante avec un tableau de chaînes de caractères n'est pas la meilleure option qui offre la flexibilité et le modèle/UI découplage. C'est là que le modèle MVC entre en jeu. Le modèle MVC raconte essentiellement l'utilisation d'un Modèle (dans votre cas, un
ComboBoxModel
) pour sauvegarder vos données. Disposer d'un modèle vous offre la possibilité et la flexibilité de l'obtention de vos données à partir de n'importe où vous voulez (fichiers, sockets, web service...)OriginalL'auteur GETah
Une alternative à l'utilisation d'un personnalisé ComboBoxModel serait d'utiliser JGoodies De Liaison de lier votre point de vue à un modèle de vue. Faisant cela, votre modèle de vue ne contiennent pas de vue spécifique de code, mais utilise le standard java bean mécanismes (p. ex. changement de propriété de soutien) pour mettre à jour l'affichage à la demande et reçoit tous les afficher automatiquement les mises à jour par le biais des propriétés du bean. Où les données affichées proviennent en fait d' (dans l'exemple, il vient directement à partir d'un enum de java) n'est pas pertinente pour l'implémentation de la vue. Voici un exemple:
OriginalL'auteur Gandalf