如何使值全局化,以便我可以访问类中的任何位置

时间:2013-11-15 15:53:52

标签: java swing jlabel

如何将值设为全局?

例如,我在这里有几行代码

public class A
{
     int number;

     JLabel[] l = new JLabel[number]; // Problem is at here because the number

     public A( int num )
     {
        number = num;                 // Receive the value from previous file
     }
}

问题出在我在通讯网中说明的那一行。

据我所知,该号码未传递给JLabel的创建。无论如何,我是否将从前一个文件中获取的值传递给JLabel的创建?

我需要全局创建JLabel,因为我需要在public void actionPerformed(ActionEvent e)访问它。

如果我在public void actionPerformed(ActionEvent e)无法访问的方法中创建它,或者无论如何我可以访问方法中的JLabel我创建者?

2 个答案:

答案 0 :(得分:2)

只需将顶行保留为JLabel[] l;,然后在构造函数中添加l = new JLabel[number];即可。问题是您的代码将在调用构造函数之前尝试访问number,因此尚未设置。

答案 1 :(得分:0)

在创建类时,声明 int variable ,它未初始化,然后继续使用此变量创建JLabel数组。要解决这个问题,你可以在构造函数中初始化数字,也可以在那里创建你的JLabel,如下所示:

public class A
{
    int number;

    JLabel[] l;

    public A( int num )
    {
        number = num;                 // Receive the value from previous file
        l = new JLabel[number]
    }
}