Java 无法从JButton获取任何输入,我做错了什么?

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

我花了很长时间试图解决这个问题,但由于某些原因,它不起作用。我对java相当陌生,所以我的jframe有点混乱,但这似乎不是问题,无论我做什么,我都无法从按钮1得到响应,我做错了什么? 还有一些未实现的东西在课堂上,只是忽略它们,因为我还没有机会添加它们,因为我似乎无法克服这一点

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四个空格即可将其格式化为代码。谢谢,现在全部排序:)谢谢,现在全部排序:)