Button nicht mehr anklickbar machen

Tacofan

Aktives Mitglied
hallo,

ich habe einen Button aber sobald dieser angeklickt wurde sollte er nicht mehr angeklickt werden können. Also sollte nicht mehr angeklickt werden können und sollte in dem Zustand sein wie wenn man auf den Button draufklickt und den Maustaster drauf lässt.
Und wie mache ich das man den Button dann wieder anklicken kann?
Finde leider nichts dazu....
 
Man könnte den Button disablen, dann kann man ihn nicht mehr anklicken aber er wird ausgegraut.

Was du eher suchst ist der ToggleButton (http://java-tutorial.org/jtogglebutton.html). Diesen kann man drücken und er bleibt dann im "gedrückten" Zustand. Wenn man wieder draufklickt wechselt er vom gedrückten Zustand in den ungedrückten Zustand. Mittels Listener musst du eben verhindern das etwas gemacht wird wenn er schon gedrückt wurde und nochmals gedrückt wird.

Du meinst auch du willst in dann (wann ist dann?) wieder anklicken lassen, wie am Anfang schon geschrieben würde ich einfach den Button disablen und wieder enablen wenn man ihn wieder klicken darf.
 
Habe es gemacht, aber ich kann den Button trotzdem anklicken und dann kommt wieder das was der Button eigentlicht macht wenn man ihn anklickt
Musste davor final hinschreiben,da es mir sonst als Fehler angezeigt wird
Code:
    final JButton btA = new JButton("A");
        btA.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
               
                //btA
               
                String hallo="Hallo";
                int miau=hallo.length();
                int mZaehler=1;
                System.out.println(miau);
               
                while(mZaehler<=miau)       
                {
                    System.out.println("Test"+mZaehler);
                    mZaehler=mZaehler+1;
                   
                    
                }
                btA.setEnabled(false);
            }
 
Code ist doch zufinden 😱

Ich habe gepostet wie du editiert hast 😉

.... ich bin mir zwar nicht 100%ig sicher, aber das Problem könnte daran liegen, das hier ein MouseListener verwendet wird.
Dem MouseListener ist egal ob die Komponenten enabled ist oder nicht > Mausklick ist Mausklick.
Teste das ganze mal mit einem einfachen ActionListener. Der ActionListener ist dafür das eine Aktion auszuführen wenn der Button gedrückt wurde. Wenn man den Button disabled kann man ihn nicht mehr drücken, nur noch mit der Maus darauf herumklicken.
 

Zurück
Oben