[英]How to pass JLabel to another class
我试图通过将一个简单的字符串传递给getter来从购买类中传递一个简单的字符串,然后尝试从另一个名为pconfirm的类中检索它。 然后尝试以该形式将标签文本设置为要传递的数量。
private JLabel lblamnt;
public String amount() {
String gtext = lblamnt.getText();
return gtext;
}
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.