Comment faire pour désactiver un JButton sur certains clause?
Je fais un petit projet et j'ai un JFrame
avec 5 JButtons
. 3 JButtons
sont une priorité et sont activées par défaut.
Est ce que je veux jusqu'à ce que et à moins que l'un de ces 3 JButtons
sont pressés reste de la 2 doit rester désactivé.
J'ai essayé avec ActionListner
et MouseListener
mais en vain.
Vérifier les multiples de code que j'ai essayé.
public void mousePressed (MouseEvent me){
if (me.getButton() == MouseEvent.NOBUTTON ){
proceedBtn.setEnabled(false);
proceedBtn.setToolTipText("Please Enter A Button Before Proceeding");
}
else {
proceedBtn.setEnabled(true);
}
}
et voici un autre morceau de code que j'ai essayé.
public void mousePressed (MouseEvent me){
if (me.getClickCount == 0 ){
proceedBtn.setEnabled(false);
proceedBtn.setToolTipText("Please click a button Before Proceeding");
}
else {
proceedBtn.setEnabled(true);
}
}
Ce que je fais mal ? J'ai même essayé de mouseClicked
méthode pour le même code mais rien ne s'est passé.
Vous devriez être en utilisant un
Peut-être que vous devriez utiliser JCheckBoxes, JRadioBoxes, ou JToggleButtons pour les boutons qui doit être mis en premier. De cette façon, l'utilisateur et le programme peut savoir en un coup d'œil si ils ont été poussés.
ActionListener
. Vous avez dit que vous avez essayé cela avant, mais en vain. L'esprit si nous voyons que le code à la place? À l'aide d'un MouseListener
est certainement pas la voie à suivre à ce sujet.Peut-être que vous devriez utiliser JCheckBoxes, JRadioBoxes, ou JToggleButtons pour les boutons qui doit être mis en premier. De cette façon, l'utilisateur et le programme peut savoir en un coup d'œil si ils ont été poussés.
OriginalL'auteur Shashwat | 2011-08-09
Vous devez vous connecter pour publier un commentaire.
Je me demande si vous le code serait mieux avec une bascule de type de bouton comme un JToggleButton ou l'un de ses enfants (JRadioButton ou JCheckBox). De cette façon, l'utilisateur peut voir si les boutons inférieurs sont sélectionnés ou "active" ou pas. Cette mesure permettrait également de vous permettre de contrôler si l'utilisateur peut cocher une ou plusieurs des trois boutons du bas, ou tout simplement un bouton du bas (à l'aide d'un ButtonGroup objet). Par exemple, et des excuses pour les mre pour partie le vol de son code (1+ pour sa réponse):
Si vous voulez voir ce code avec JToggleButtons, puis en commentaire la ligne qui crée JCheckBoxes et décommentez la ligne qui crée JToggleButtons:
De même, si vous voulez voir le programme avec JRadioButtons décommentez seulement la JRadioButton ligne et de commenter les deux autres.
OriginalL'auteur Hovercraft Full Of Eels
Vous avez besoin de comprendre la ActionListener classe. Comme @harper89 suggéré, il y a même un tutoriel sur la Comment Écrire une Action Listener. Je vous conseille aussi la sous-classe
JButton
, puisque cela semble plus approprié que l'interrogation de laActionEvent
pour la source.Voici un exemple -
Si vous appuyez sur l'un des trois boutons activés, les deux les boutons sont activés selon votre demande.
OriginalL'auteur mre
Je crois que tu peux regarder dans
actionListeners
pour votre bouton.Alors vous pourriez faire votre simple
if
déclaration.setenabled = true
lorsque l'un de vos trois premières utilisateur clique sur les boutons.Je l'ai fait avant, mais je suis pas à l'aise pour essayer de relayer comment. Mauvais inclure du code qui devrait fonctionner et un tutoriel qui explique peut-être cela mieux que moi.
Exemple:
Actionlistener Tutoriel
OriginalL'auteur sealz
Essayez de mettre vos écouteurs de souris sur l'normalement boutons actifs. De cette façon, lorsqu'elles sont activées, elles peuvent permettre à l'normalement inactifs boutons. Aussi, définir la normalement inactifs boutons pour être désactivé lorsque l'application démarre en premier.
Encore une fois, n'utilisez pas les écouteurs de souris avec jbuttons. bas-voté.
Oui, votre suggestion en effet travaillé, en désactivant le bouton de la au début, a fait le travail 🙂 C'était assez simple, mais comme tout le monde l'a suggéré je vais m'en tenir à ActionListener 🙂 Merci 🙂
Désolé, tous les. Je ne veux dire ActionListener. Mon mauvais pour ne pas vérifier.
OriginalL'auteur Chris
Essayer avec
getComponent
de MouseEvent:Docs
Parce que j'étais en train de fournir de l'aide fondée sur ce qu'il a posté.
Cela ne fonctionne pas, j'ai essayé plus tôt
OriginalL'auteur Geo