jButton soll nach klicken eine Variable um 1 erhöhen

Jacl

Aktives Mitglied
Habe wenig Erfahrung mit Java und bis jetzt immer über den eingebauten GUI-Designer Fenster erstellt. Dort war man mit einem Doppelklick im passenden Codesegment.
Nun versuche ich zum ersten mal ein GUI von "Hand" zu erstellen und scheitere schon einen Button auf ein Ereignis reagieren zu lassen.
Folgendes Problem: Ich möchte nach klicken auf einen Button das eine Variable um 1 erhöht wird. Ich denke, dass ich am richtigen Weg bin. Wenn ich folgendes eingebe,
Java:
//Button handling
        int zahl = 0;
        zahler.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            if (anrufe == e.getSource()) {
                // action when the button is pressed
                zahl = zahl++;
                // jLabel print
                zahlen.setText("" + Anrufe);          
            }
        }
    });
bekomme ich folgende Fehlermeldung: “local variables referenced from an inner class must be final or effectively final”.
Wo muss ich die Variable hinschreiben?
 
1. Java besitzt keinen eingebauten GUI-Designer
2. Wenig Erfahrung und GUI-Programmierung ist eine ganz schlechte Kombination.
Zu 1) Das ist natürlich richtig, ich meinte den GUI-Designer von der Netbeans IDE (bzw, den man installieren bzw. aktivieren kann - den Scene Builder von Gluon https://gluonhq.com/products/scene-builder/). Aber egal...
Zu 2) Im Grunde genommen ist wenig Erfahrung egal in welcher Konstellation immer eine schlechte Kombination... Viele Wege führen zum Ziel, ich stehe nicht auf staubtrockene Theorie, da schlafe ich beim lesen ein... 🙂

Aber danke für deinen Tipp mit der Variable, dass muss ich mir auf mein Problem bezogen genauer ansehen.
Jacl
 

Zurück
Oben