我试图通过将其放入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()调用它。
答案 0 :(得分:0)
您需要有一个实际对象才能使用方法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);
}