Frage von kollederboss96, 20

neuen ActionListener in Java schreiben?

ich schreibe momentan ein Programm, in der ich in einer Liste voller buttons einen actionlistener hinzufügen möchte, doch es funktioniert nicht so richtig, denn der listener wird garnicht erst aufgerufen, bitte um eure hilfe

    public class ColorButtonListener implements ActionListener {
            public void actionPerformed(ActionEvent e) {
                if (e.getSource() == buttonTemp) {
                
                if(buttonTemp.getBackground().equals(showColorButton.getBackground()))
                {
                    trialsText.setText(Integer.toString(trials + 1));
                    hitsText.setText(Integer.toString(hits + 1));
                    percantage.setText(Double.toString(percent = (trials/hits)));
                }
            }

        }
    }

    JButton buttonTemp = new JButton();

    private void initColorButtons() {
        Random rnd = new Random();
        for (int i = 0; i < level * level; i++) {

            Color colorTemp = new Color((int) (Math.random() * 255), (int) (Math.random() * 255),(int) (Math.random() * 255));
            JButton buttonTemp = new JButton();
            buttonTemp.setBorder(new LineBorder(Color.BLACK, 1));
            buttonTemp.setBackground(colorTemp);
            buttons.add(buttonTemp);
            buttonTemp.addActionListener(new ColorButtonListener());
            colors.add(colorTemp);
            farbFelderPanel.add(buttons.get(i));
        }
 //             int refColorIndex = rnd.nextInt(level * level);
//      refColor = colors.get(refColorIndex);
    }
Expertenantwort
von KnusperPudding, Community-Experte für Java, 20

Dein Code ist leider nicht ansatzweise vollständig. Sämtliche Variablen fehlen, die klasse Außenrum genauso.

Wenn du bei einem komplexeren Problem einer vollständigen Klasse hilfe möchtest, poste sie dann bitte vollständig, oder ausschließlich die Relevanten Zeilen bei denen du ein Problem hast.

Wenn du Code postet, benutze bitte etwas wie pastebin, da die GF Codeformatierung unter aller Kanone ist.



PS: Was dein eigentliches Problem zu sein scheint, ist dir hoffentlich klar: 

Wenn Wenn du per Code abfrägst, ob deine Instanz-Variable: buttonTemp die du nie benutzt, einer Lokalen Variable entspricht per "==", die du genauso genannt hast, wird das nie zum Erfolg führen.

Keine passende Antwort gefunden?

Fragen Sie die Community