Comment puis-je vérifier que JButton est pressé? Si le isEnable() n'est pas un travail?
Comment puis-je vérifier que JButton est pressé? Je sais qu'il y a une méthode que son nom est "isEnabled"
J'ai donc essayer d'écrire un code pour tester.
- du présent code 2 Jbuttons qui sont Bouton "Ajouter" et le bouton "commander".
- le code va afficher "Ajouter un bouton est pressé" message quand je presse le bouton "commander" après avoir appuyer sur le bouton "Ajouter" mais Si le Bouton "Ajouter" n'est pas pressé avant la "Caisse" est enfoncé, le code va afficher "Ajouter un Bouton n'est pas pressé" message.
Voici le code:
final JButton btnAdd = new JButton("Add");
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
}
});
panel.add(btnAdd);
JButton btnConfirm = new JButton("Check Out");
btnConfirm.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (btnAdd.isEnabled()) {
System.out.println("Add Button is pressed");
}
if (!btnAdd.isEnabled()) {
System.out.println("Add Button is not pressed");
}
}
});
Lorsque j'exécute ce code,le code ne donner que le "Ajouter un bouton est pressé" bien que je n'ai pas appuyer sur le Bouton "Ajouter". Pourquoi passe-t-il comme ça?
après l'initialisation des btnAdd.setEnabled(false);
Quel est exactement le but de vérifier si elle est pressée? L'auditeur est inscrit qu'à un seul bouton, donc il suffit d'effectuer l'action souhaitée sans vérifier quelque chose
comment commander sans ajout de quoi que ce soit !!
que voulez-vous dire?
exactement , si il est supprimé ? :))
Quel est exactement le but de vérifier si elle est pressée? L'auditeur est inscrit qu'à un seul bouton, donc il suffit d'effectuer l'action souhaitée sans vérifier quelque chose
comment commander sans ajout de quoi que ce soit !!
que voulez-vous dire?
exactement , si il est supprimé ? :))
OriginalL'auteur Dexter Moregan | 2013-12-27
Vous devez vous connecter pour publier un commentaire.
JButton
a un modèle qui répond à ces question:isArmed()
,isPressed()
,isRollOVer()
etc. Par conséquent, vous pouvez demander le modèle de la réponse que vous cherchez:
ActionListener
, il sera toujours désarmé/non pressée et non cuite. C'est de cette façonJButton
fonctionne...oui! En fait, si il utilise
ActionListner
, il n'a même pas besoin de vérifier à l'encontre de la isPressed vérification de type. Il ne pouvait tout simplement déclarer une valeur booléenne et de le faire lors de l'événement d'action est écouté par l'action de l'écouteur du bouton cible. Je voulais juste savoir à l'utilisateur que ces fonction contreisEnabled()
:). Ces jours-ci beaucoup de de l'utilisateur en question n'est pas de faire beaucoup de sens mais d'autres à se faire de la réputation même de ne pas s'en occuper: d'où m'a fait gourmand. Toutes mes excuses, mais qui ne veulent pas être riche ?Encore une bonne réponse, a obtenu un +1 de ma part 😉
toujours pas de travail. le code me donner de "faux" valeur bien que j'ai appuyé sur ce bouton, déjà Voici le code: btnAdd.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { System..println(""+btnAdd.getModel().isPressed() ); } });
Suivre la réponse MadProgrammer a suggéré. Il a déjà expliqué la raison pour laquelle cela ne fonctionne pas. Mon intention était de vous laisser savoir que la Façon dont le plusieurs fonction d'état existent pour travailler avec. 🙂
OriginalL'auteur Sage
Semble que vous devez utiliser
JToggleButton
:OriginalL'auteur alex2410
JButton#isEnabled
les modifications de l'utilisateur de l'interactivité d'un composant, c'est-à-dire, si un utilisateur est en mesure d'interagir avec elle (la presse) ou pas.Lorsqu'un
JButton
est pressé, il déclenche uneactionPerformed
événement.Vous recevez
Add button is pressed
lorsque vous appuyez sur le bouton confirmer, car le bouton ajouter est activé. Comme indiqué, il n'a rien à voir avec la touche start de la touche.Basé sur le code, si vous avez essayé de cocher la case "pressé" début du bouton "ajouter" dans le bouton de confirmation de la
ActionListener
, elle serait toujours faux, car le bouton ne sera dans l'état enfoncé alors que le bouton ajouter de laActionListener
s sont appelé.Basé sur toutes ces informations, je vous suggère pouvez envisager d'utiliser un
JCheckBox
que vous pouvez ensuite utiliserJCheckBox#isSelected
afin de déterminer si elle a été cochée ou non.Regarder de plus près Comment Utiliser les Boutons pour plus de détails
Check button
oùAdd Button
est pressé: je ne vois pas de raison pour en fonction de l'entrée composante contrôle, comme peeskiller a soulignéPas de soucis, plus les gens qui disent la même chose, le plus probable que nous allons faire passer notre message 😉
OriginalL'auteur MadProgrammer
Il suffit de ne
System.out.println(e.getActionCommand());
à l'intérieur deactionPerformed(ActionEvent e)
fonction. Cela vous indiquera la commande qui vient d'être effectué.ou
vous êtes tous très bon. Mais j'ai testé celui-ci et il fonctionne, et c'est une manière facile.
OriginalL'auteur AJ.
La méthode que vous essayez d'utiliser vérifie si le bouton n'est actif:
btnAdd.isEnabled()
Lorsque cette option est activée, tous les composants associés à cet objet est actif et capable de tirer de l'objet, la méthode actionPerformed.
Cette méthode ne permet pas de vérifier si le bouton est enfoncé.
Si je comprends votre question correctement, vous souhaitez désactiver votre bouton "Ajouter" une fois que l'utilisateur clique sur "Vérifier".
Essayez de désactiver votre bouton au démarrage:
btnAdd.setEnabled(false)
ou après que l'utilisateur appuie sur "Check out"OriginalL'auteur nillas