Ich versuche, es einfacher zu machen, Tasten zu machen, indem Sie eine Methode, aber wenn ich die Methode verwenden, um eine Schaltfläche zu machen passiert nichts, wenn ich die Taste drücken, obwohl ich einen Listener für die Schaltfläche habenJava AddActionListener funktioniert nicht
public void assignButton(Button wtf,String text) //program to assign buttons easily
{
wtf = new Button(text);
add(wtf);
wtf.addActionListener(this);
}
Ich benutze AssignButton (Check, "Wörter"); um den Knopf
jedes Mal, wenn ich die Taste drücken setzt es Code auf 2, weiß jemand, was ich falsch mache?
Edit:
vollständige Code
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class PressSafeTemp extends Applet implements ActionListener
{
Button clear,Check;
int code = 0;
public void init() //assigns buttons
{
clear = new Button("C");
add(clear);
clear.addActionListener(this);
assignButton(Check,"words");
}
public void paint(Graphics g)
{
g.drawString(""+code,10,10);
}
public void assignButton(Button wtf,String text) //program to assign buttons easily
{
wtf = new Button(text);
add(wtf);
wtf.addActionListener(this);
}
public void actionPerformed(ActionEvent event) //checks if button has been pressed
{
if(event.getSource() == Check)
{
code ++;
}
else if(event.getSource() == clear)
{
code = 0;
}
else
{
code = 2;
}
repaint();
}
}
Stellen Sie ein ausführbares Beispiel bereit. Denken Sie auch daran, dass Java aufgrund der Art und Weise, wie Parameter übergeben werden, einen Wert für den übergebenen Wert hat. Stattdessen sollten Sie die neue Instanz von JButton zurückgeben und stattdessen Ihrem Wert zuweisen. – MadProgrammer
@MadProgrammer, Ich glaube, du hast in diesem Kommentar ein wichtiges "Nein" vergessen. – ChiefTwoPencils
@ChiefTwoPencils Fette Finger, kleines Telefon: P – MadProgrammer