如何将值设为全局?
例如,我在这里有几行代码
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
我创建者?
答案 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]
}
}