我的Counter Class中有一个公共整型变量(MainReg)。我想得到这个变量的值,并在我的JComponent类中设置它。这是我的JComponent类的一部分:
public class Komponent2 extends JComponent implements ActionListener
{
Counter counter3;
.
.
.
int a = counter3.valueOf(MainReg);
但它不起作用。我也试过了:
int a = valueOf(counter3.MainReg);
int a = counter3.valueOf(counter3.MainReg);
int a = counter3.MainReg;
但它仍然无效。我怎样才能得到这个变量?谢谢你的帮助。
修改
这是我的Counter类:
import java.util.Observable ;
public class Counter extends Observable
{
public int MainReg;
public int CompareReg;
public Mode countMode;
public boolean OVF;
private int a=0;
public Counter()
{
OVF=false;
}
public void setCompareReg(int dana)
{
CompareReg=dana;
}
public void setMainReg(int dana2)
{
MainReg=dana2;
}
public void setMode(Mode countMode)
{
this.countMode=countMode;
}
public void Count()
{
if (countMode==Mode.UP)
{
MainReg++;
OVF=false;
if (CompareReg < MainReg)
{
OVF=true;
MainReg=0;
setChanged();
notifyObservers();
}
}
else if (countMode==Mode.UPDOWN)
{
if(MainReg >= CompareReg)
{
a=MainReg;
MainReg--;
OVF=true;
}
else
{
if(MainReg >= a)
{
MainReg++;
OVF=false;
}
else
{
MainReg--;
if(MainReg==0)
{
a=0;
}
OVF=false;
}
}
}
else if (countMode==Mode.CONTINOUS)
{
MainReg++;
OVF=false;
if (65536 < MainReg)
{
MainReg=0;
OVF=true;
}
}
}
}
答案 0 :(得分:1)
我发现有两种方法可以做到这一点。
或者您可以在Counter类中创建一个getMainReg()方法。然后从任何一个班级调用它。
EX:
public int getMainReg(){ 归还.MainReg; }
答案 1 :(得分:0)
提供Counter类getter方法,然后在需要访问其值时调用它们。即,
public int getMainReg() {
return mainReg;
}
public int getCompareReg(){
return compareReg;
}
public Mode getCountMode() {
return countMode;
}
让你的字段全部私密。此外,您的代码应遵守Java命名规则:变量名称应以小写字母开头。
还要确保您已在使用它的类中初始化计数器变量,方法是创建新实例,或者在适当的情况下,在构造函数或方法参数中传入有效实例。