我现在试着访问我的主类中的变量:
public class Results extends JFrame {
public static void main(String[] args)
{
System.out.println(doble);
}}
位于actionlistener中,如此
public Results ()
{
// Create a JPanel for the buttons DOUBLE AND NOT DOUBLE
JPanel duplicate = new JPanel(
new FlowLayout(FlowLayout.CENTER));
JButton doblebutton = new JButton("DOUBLE");
doblebutton.addActionListener(new ActionListener(){
private int doble;
public void actionPerformed(ActionEvent ae){
doble++;
System.out.println("Doubles: " + doble);
}
});
}
我尝试了5种方法,但似乎不可能。有什么想法吗?
答案 0 :(得分:2)
尝试在构造函数之外移动 doble 的声明,使其成为一个字段,如下所示:
public class Results extends JFrame {
private int doble;
public Results() {
// Create a JPanel for the buttons DOUBLE AND NOT DOUBLE
JPanel duplicate = new JPanel(new FlowLayout(FlowLayout.CENTER));
JButton doblebutton = new JButton("DOUBLE");
doblebutton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
doble++;
System.out.println("Doubles: " + doble);
}
});
}
public static void main(String[] args) {
Results results = new Results();
System.out.println(results.doble);
}
}
一些意见:
希望这有帮助。
答案 1 :(得分:1)
目前doble
是在构造函数中声明的局部变量,因此其范围仅为confined to constructor
,在{{1}处声明它在其他地方访问它。
insatnce level
答案 2 :(得分:0)
main()
是静态的,doble
是实例变量。您必须实例化,或使变量静态。