0

我正在尝试从另一个类更新 jlabel。我在下面粘贴了我的代码。

Class A {

public void setNetAmount(String s){
    jLabel51.setText(s);
}
public void setDis_percentage(String s){
    jLabel53.setText(s);
}
public void setDiscount(String s){
    jLabel55.setText(s);
}
public void setAdjustment(String s){
    jLabel57.setText(s);
}

}

Class B{
public void SetData(){
new A.setNetAmount(""+netAmount);
new A.setDis_percentage(""+dis_percentage);
new A.setDiscount(""+discount);
new A.setAdjustment(""+adjustment);    
}
}

SetData()在 A 类中调用该方法。

public void getData(){
B b = new b();
b.setData();
}

我的代码有什么问题吗?它根本不起作用。EDT有问题吗?请帮忙。

4

1 回答 1

0

你不能一直调用“新 A”。这将创建一个类 A 的新实例。

不太确定为什么你有一个 B 类来调用 A 类的一些方法,但如果你使用这种方法,那么你需要将 A 类的引用传递给你的 B 类方法。

就像是:

public class B
{
    public void setData(A a)
    {
        a.setAmount(...);
        a.setPercentage(...);
        ...
    }
}

然后,当您在 A 类中调用该方法时,您将使用:

B b = new B();
b.setData(this);

虽然这是一个非常奇怪的设计。

于 2013-11-10T21:08:48.473 回答