如何将 JLabel 传递给另一个 class
How to pass JLabel to another class
我试图通过将购买 class 中的一个简单字符串放入 getter 中来传递它,然后尝试从另一个名为 pconfirm 的 class 中检索它。然后尝试将该表单中的标签文本设置为传递的数量。
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 class 构造函数中,希望您可以访问 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());
}
除非您在调用 amount 之前明确设置文本,否则 JLabel 的文本将为空。您还可以做一些事情,其中每个 Purchase JLabel 文本都是相同的,直到用户使用我提供的方法进行更改,您可以像这样设置默认文本
Purchase.java
private final String defaultJLabelText = "Purchase Default Text";
public Purchase()
{
lblamnt = new JLabel();
lblamnt.setText(defaultJLabelText);
}
我试图通过将购买 class 中的一个简单字符串放入 getter 中来传递它,然后尝试从另一个名为 pconfirm 的 class 中检索它。然后尝试将该表单中的标签文本设置为传递的数量。
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 class 构造函数中,希望您可以访问 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());
}
除非您在调用 amount 之前明确设置文本,否则 JLabel 的文本将为空。您还可以做一些事情,其中每个 Purchase JLabel 文本都是相同的,直到用户使用我提供的方法进行更改,您可以像这样设置默认文本
Purchase.java
private final String defaultJLabelText = "Purchase Default Text";
public Purchase()
{
lblamnt = new JLabel();
lblamnt.setText(defaultJLabelText);
}