Java 无法从JButton获取任何输入,我做错了什么?
我花了很长时间试图解决这个问题,但由于某些原因,它不起作用。我对java相当陌生,所以我的jframe有点混乱,但这似乎不是问题,无论我做什么,我都无法从按钮1得到响应,我做错了什么? 还有一些未实现的东西在课堂上,只是忽略它们,因为我还没有机会添加它们,因为我似乎无法克服这一点Java 无法从JButton获取任何输入,我做错了什么?,java,swing,jbutton,actionlistener,Java,Swing,Jbutton,Actionlistener,我花了很长时间试图解决这个问题,但由于某些原因,它不起作用。我对java相当陌生,所以我的jframe有点混乱,但这似乎不是问题,无论我做什么,我都无法从按钮1得到响应,我做错了什么? 还有一些未实现的东西在课堂上,只是忽略它们,因为我还没有机会添加它们,因为我似乎无法克服这一点 public class First{ private static JButton b1; private static JButton b2; private sta
public class First{
private static JButton b1;
private static JButton b2;
private static JButton b3;
private static int GetColor;
private static Container content;
public static void main(String[] args){
JFrame f = new JFrame("test");
f.setSize(300,100);
f.setLocationRelativeTo(null);
Container content = f.getContentPane();
content.setLayout(new FlowLayout());
int GetColor = 1;
if(GetColor==1){
content.setBackground(Color.blue);
}else{
GetColor = 1;
content.setBackground(Color.blue);
}
JButton b1 = new JButton("Blue");
content.add(b1);
JButton b2 = new JButton("Red");
content.add(b2);
JButton b3 = new JButton("Green");
content.add(b3);
f.setVisible(true);
Handler h = new Handler();
b1.addActionListener(h);
b2.addActionListener(h);
b3.addActionListener(h);
}
private static class Handler implements ActionListener{
public void actionPerformed(ActionEvent a) {
Object src = a.getSource();
ProcessSrc(src);
}
}
private static void ProcessSrc(Object src){
if(src.equals(b1)){
System.out.println("f");
}
}
}
所有需要的东西都应该在那里。你就是变量b1
。替换
JButton b1 = new JButton("Blue");
与
您是变量b1
。替换
JButton b1 = new JButton("Blue");
与
我看到了您的问题,您在方法main中重新声明b1、b2和b2,将静态变量b1、b2、b3保留为null。若要修复此问题,请在初始化按钮时删除“JButton”一词。我看到了您的问题,您在方法main中重新声明了b1、b2和b2,将静态变量b1、b2、b3保留为null。要修复此问题,请在初始化按钮时删除“JButton”一词。@Cyrille Ka,您在编辑时只需几秒钟:D Niall:Prepend code line四个空格即可将其格式化为代码。@Cyrille Ka,您在编辑时只需几秒钟:D Niall:Prepend code line四个空格即可将其格式化为代码。谢谢,现在全部排序:)谢谢,现在全部排序:)