将变量从一个文本框传递到另一个文本框

时间:2012-12-02 14:47:16

标签: java

我想使用java将类中的文本框中的值传递到另一个类中的另一个文本框中。我有一个名为PurchaseSystem和另一个PaymentSystem的类,我想将值从PurchaseSystem传递给PaymentSystem。

    private void btnMakePaymentActionPerformed(java.awt.event.ActionEvent evt) {                                               
    String selected;
    new PaymentSystem().setVisible(true);

    PaymentSystem information;

    information = new PaymentSystem();
    information.itemChoosen = txtDisplayItem.getText();
    information.itemPrice = txtDisplayPrice.getSelectedText();
    information.setVisible(true);

}     


public class PaymentSystem extends javax.swing.JFrame {

 public String itemChoosen, itemPrice, itemQuantity, itemSubTotal;
/**
 * Creates new form PaymentSystem
 */
public PaymentSystem() {
    initComponents();

    itemTextBox.setText(itemChoosen);
    priceTextBox.setText(itemPrice);
}              

这是我到目前为止所做的,但PurchaseSystem类中的值没有出现在PaymentSystem类的文本框中。请帮助

4 个答案:

答案 0 :(得分:0)

您需要添加更新方法,以便将值传递给PaymentSystem。目前,您似乎只在其构造函数中设置PaymentSystem的值。仅通过分配String字段itemChoosenitemPrice等来反映这些更改

答案 1 :(得分:0)

创建setText(itemChoosen)对象后立即调用

PaymentSystem。那时字符串itemChoosen是空的。

我会在PaymentSystem中设置一个方法来设置itemTextBox的文字,这样你就可以调用那个而不是information.itemChoosen

答案 2 :(得分:0)

您可以更改PaymentSystem类的构造函数,如下所示

class PaymentSystem{
    private String itemPrice =null;
    private String itemChoosen  = null;
    public PaymentSystem(String itemChoosen,String itemPrice){
       this.itemPrice = itemPrice;
       this.itemChoosen = itemChoosen;
    }
   //rest of the class
}

初始化PaymentSystem类时传递两个字符串值。所以你可以使用这些值。

答案 3 :(得分:0)

你需要根据对象来推理。不是在课程方面。每次执行new PaymentSystem()时,都会创建一个新对象,该对象有自己的文本框,与另一个PaymentSystem实例的文本框不同。

让我们举个例子:

Bottle greenBottle = new Bottle(); // creates a first bottle
greenBottle.setMessage("hello");
Bottle redBottle = new Bottle(); // creates another bottle, which can have its own message
System.out.println(redBottle.getMessage());

在上面的代码中,将打印null,而不是" hello",因为您已将消息存储在瓶子中,并从另一个瓶子中获取消息。

如果您想将信息存储在瓶子中并稍后检索,您需要将瓶子存储在变量中:

private Bottle theBottle;

// in some method:
theBottle = new Bottle(); // creates the bottle
theBottle.setMessage("hello");

// in some other method
System.out.println(theBottle.getMessage()); // displays hello