# Button nicht mehr anklickbar machen



## Tacofan (2. Mrz 2016)

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....


----------



## Joose (2. Mrz 2016)

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.


----------



## Tacofan (2. Mrz 2016)

Joose hat gesagt.:


> den Button disablen und wieder enablen we




Hast du mir dafür etwas "Code"#?

Danke für die schnelle Antwort


----------



## Joose (2. Mrz 2016)

Tacofan hat gesagt.:


> Hast du mir dafür etwas "Code"#?



Etwas Eigeninitiative zeigen 
https://www.google.at/search?q=java...-8&oe=utf-8&gws_rd=cr&ei=dh7XVsSoLsmwUaydmZAL


----------



## mrBrown (2. Mrz 2016)

Tacofan hat gesagt.:


> Hast du mir dafür etwas "Code"#?
> 
> Danke für die schnelle Antwort




```
button.setEnabled(false);
```

Zum ToggleButton stehen im Link Beispiele


----------



## Tacofan (2. Mrz 2016)

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

```
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);
            }
```


----------



## Joose (2. Mrz 2016)

Hier wäre etwas Code hilfreich. Wo wird er disabled?


----------



## Tacofan (2. Mrz 2016)

Joose hat gesagt.:


> Hier wäre etwas Code hilfreich. Wo wird er disabled?


Code ist doch zufinden


----------



## Joose (2. Mrz 2016)

Tacofan hat gesagt.:


> 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.


----------

