从另一个不工作的类更新JLabel

时间:2013-11-10 20:19:40

标签: java jlabel getter-setter

我正在尝试从另一个类更新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);    
}
}

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

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

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

1 个答案:

答案 0 :(得分: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);

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