我想通過製作一個方法來使按鈕變得更容易,但是當我使用該方法來製作按鈕時,按下按鈕時沒有任何反應,即使我有一個按鈕的偵聽器java addActionListener不工作
public void assignButton(Button wtf,String text) //program to assign buttons easily
{
wtf = new Button(text);
add(wtf);
wtf.addActionListener(this);
}
我使用assignButton(Check,「words」);使按鈕
public void actionPerformed(ActionEvent event) //checks if button has been pressed
{
if(event.getSource() == Check)
{
code ++;
}
else
{
code = 2;
}
repaint();
每次我按下按鈕它將代碼設置爲2,任何人都知道我在做什麼錯了?
編輯:
全碼
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();
}
}
考慮提供一個可運行的示例。另外請記住,由於Java傳遞參數的方式,試圖給參數賦值會影響您傳遞的值,相反,您應該返回JButton的新實例並將其指定給您的值,而不是 – MadProgrammer
@MadProgrammer,我想你在這個評論中忘記了一個重要的「否」。 – ChiefTwoPencils
@ChiefTwoPencils胖手指,小手機:P – MadProgrammer