Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 静态变量不可见_Java_Class_Static_Actionlistener - Fatal编程技术网

Java 静态变量不可见

Java 静态变量不可见,java,class,static,actionlistener,Java,Class,Static,Actionlistener,我的代码中有不同面板的不同文件,我想为动作侦听器添加一个文件。我已将变量声明为静态变量,以便动作侦听器可以看到它们,但它看不到它们 import java.awt.*; 导入javax.swing.*; 类Respuestas扩展了JPanel{ 静态JRadioButton cb1=新JRadioButton(“1”); 静态JRadioButton cb2=新JRadioButton(“2”); 静态JRadioButton cb3=新JRadioButton(“3”); 静态JRadioB

我的代码中有不同面板的不同文件,我想为动作侦听器添加一个文件。我已将变量声明为静态变量,以便动作侦听器可以看到它们,但它看不到它们

import java.awt.*;
导入javax.swing.*;
类Respuestas扩展了JPanel{
静态JRadioButton cb1=新JRadioButton(“1”);
静态JRadioButton cb2=新JRadioButton(“2”);
静态JRadioButton cb3=新JRadioButton(“3”);
静态JRadioButton cb4=新JRadioButton(“4”);
静态JRadioButton cb5=新JRadioButton(“5”);
公共响应(){
setLayout(新网格布局(1,5));
本条增补(cb1);
本条增补(cb2);
本条增补(cb3);
本条增补(cb4);
本条增补(cb5);
Manejador Manejador=新的Manejador();
cb1.addActionListener(manejador);
cb2.addActionListener(manejador);
cb3.addActionListener(manejador);
cb4.addActionListener(manejador);
cb5.addActionListener(manejador);
}
}
import javax.swing.*;
类Botones扩展了JPanel{
公共静态JButton sig=新JButton(“Siguiente”);
公用电话(){
添加(sig);
Manejador Manejador=新的Manejador();
sig.addActionListener(manejador);
}
}
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
公共类Manejador实现ActionListener{
已执行的公共无效操作(操作事件事件){
如果(evento.getSource()==sig){//错误
System.out.println(“Siguiente”);
}
else if(evento.getSource()==cb1){//Error
系统输出打印项次(“1”);
}
else if(evento.getSource()==cb2){//Error
系统输出打印项次(“2”);
}
else if(evento.getSource()==cb3){//Error
系统输出打印项次(“3”);
}
else if(evento.getSource()==cb4){//Error
系统输出打印项次(“4”);
}
else if(evento.getSource()==cb5){//Error
系统输出打印项次(“5”);
}
}
}

首先,您必须将变量声明为公共变量:

public static JRadioButton cb3 =new JRadioButton("3");
要读取该值,必须从类中调用它,如下所示:

Respuestas.cb1;
public void actionPerformed (ActionEvent evento) {

    if(evento.getSource()==Botones.sig) {                 //Error
        System.out.println("Siguiente");
    }
    else if(evento.getSource()==Respuestas.cb1) {            //Error
        System.out.println("1");
    }
    else if(evento.getSource()==Respuestas.cb2) {            //Error
        System.out.println("2");
    }
    else if(evento.getSource()==Respuestas.cb3) {            //Error
        System.out.println("3");
    }
    else if(evento.getSource()==Respuestas.cb4) {            //Error
        System.out.println("4");
    }
    else if(evento.getSource()==Respuestas.cb5) {            //Error
        System.out.println("5");
    }

}
您的actionPerformed方法应如下所示:

Respuestas.cb1;
public void actionPerformed (ActionEvent evento) {

    if(evento.getSource()==Botones.sig) {                 //Error
        System.out.println("Siguiente");
    }
    else if(evento.getSource()==Respuestas.cb1) {            //Error
        System.out.println("1");
    }
    else if(evento.getSource()==Respuestas.cb2) {            //Error
        System.out.println("2");
    }
    else if(evento.getSource()==Respuestas.cb3) {            //Error
        System.out.println("3");
    }
    else if(evento.getSource()==Respuestas.cb4) {            //Error
        System.out.println("4");
    }
    else if(evento.getSource()==Respuestas.cb5) {            //Error
        System.out.println("5");
    }

}

“我已将变量声明为静态,以便动作侦听器可以看到它们”嗯。。。你真的了解关键字的用法吗?