繁体   English   中英

如何将JLabel传递给另一个课程

[英]How to pass JLabel to another class

我试图通过将一个简单的字符串传递给getter来从购买类中传递一个简单的字符串,然后尝试从另一个名为pconfirm的类中检索它。 然后尝试以该形式将标签文本设置为要传递的数量。

Purchase.java

private JLabel lblamnt;

public String amount() {
    String gtext = lblamnt.getText();
    return gtext;
}

Pconfirm.java

private JLabel lblgamnt;

public Pconfirm() {
    Purchase purchase = new Purchase();
    lblgamnt.setText("Test" + purchase.amount());
}

当我通过时,它什么也没显示。

我以您通过Purchase.amount()称呼它为前提。

您需要有一个实际对象才能使用方法amount()

希望在您的Purchase类构造函数中,您可以访问JLabel或这样设置文本的功能

Purchase.java

public void setTextOfJLabel(String text)
{
    lblamnt.setText(text);
}

然后,您可以在

Pconfirm.java

private JLabel lblgamnt;
private Purchase purchObjName;

public Pconfirm() {
    purchObjName = new Purchase();
    purchObjName.setTextOfJLabel("The Purchase JLabel text");
    lblgamnt.setText("Pconfirm JLabel text and " + purchObjName.amount());
}

除非您在调用数量之前显式设置文本,否则JLabel的文本将为null。 您还可以执行以下操作,使每个Purchase JLabel文本都相同,直到用户使用我提供的方法对其进行更改为止,并​​且您可以设置默认文本,如下所示

Purchase.java

private final String defaultJLabelText = "Purchase Default Text"; 

public Purchase()
{
    lblamnt = new JLabel();
    lblamnt.setText(defaultJLabelText);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM