Comment obtenir la valeur de texte de JRadioButton
Je suis entrain de créer un projet en java. Mon Programme a 80 JRadioButtons .... J'ai besoin de le obtenir la valeur de texte d'entre eux.. Maintenant ces composants radiobutton sont ajoutés à ButtonGroup(chacun dispose de 4 boutons radio)...
Je sais comment obtenir le texte de la valeur du bouton radio par le présent code suivant
radiobutton1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String q1=e.getActionCommand();
JOptionPane.showMessageDialog(null, q1);
}
});
Maintenant, est-il un moyen facile de faire cela? parce que je vais avoir à faire ce code ci-dessus pour 80 temps(pendant quatre-vingts composants radiobutton si j'utilise le mode d'utilisation de la méthode ci-dessus
Infos supplémentaires - j'ai Total 20 ButtonGroups, chacune avec 4 boutons radio. Donc(80 boutons radio).
- Je serais intéressé de voir ce que vous êtes arrivée avec ce grand nombre de JRadioButtons. Pouvez-vous nous en dire plus sur tout ce que cette partie du code est en train de faire?
- Plein D'Anguilles qui mon ... , je pense que JSlider devrait être plus qu'une alternative,
- Plein D'Anguilles je suis de la création de la Faculté Système de Commentaires...Ils précisément nous a dit d'utiliser des composants radiobutton... Il existe quatre options pour chaque question... Il y a au total 20 questions.
- ne comprends toujours pas pourquoi vous avez besoin de la actionCommand (surtout pas dans le actionListener) - ou voulez-vous dire à l'utilisateur "cool, le bon choix!" vs "oups ... essayez-en un autre!" au moment où elles sélectionnez un des choix?
Vous devez vous connecter pour publier un commentaire.
alors plus simple est
getSelection()
n'est pas null avant d'appelergetActionCommand()
sur elle. Si vous n'avez pas l'esprit, j'aimerais éditer votre post pour en tenir compte. Aussi, il n'y a pas besoin d'appelertoString()
sur la valeur retournée pargetActionCommand()
puisqu'elle retourne une Chaîne de caractères.La raison pour laquelle vous êtes confrontés à ce problème, c'est parce que vous avez créé tous les JRadioButton manuellement, je suppose (au lieu d'une boucle).
Si vous ne pouvez vraiment pas faire autrement, vous pouvez utiliser du code intelligent:
Peut-être, au lieu de la définition de l'action de l'auditeur pour chaque bouton-radio individuellement, vous devez définir une action commune-port d'écoute pour tous les radio-boutons.
par exemple
Ensuite, vous pouvez l'utiliser comme suit:
Aussi, le
ActionEvent#getActionCommand()
retourne la chaîne de commande associée à l'action de ne pas extacly le texte de commande du composant.La clé de la mise en œuvre d'une conception comme vous le souhaitez (je pense) est d'utiliser des tableaux à leur pleine puissance. Par exemple, vous pourriez avoir un tableau en 2 Dimensions de la Chaîne qui détient les JRadioButton textes, et un 1-Dimensions tableau de ButtonGroups et ensuite être capable de facilement configurer votre interface de requête et de votre interface graphique avec des boucles et des boucles for imbriquées (et à l'aide de l'excellente suggestion de mKorbel).
Par exemple: