在不打开新 JFrame 的情况下从另一个子 JFrame 向 JFrame 发送数据

Sending data to JFrame from another sub JFrame without opening a new JFrame

我正在 java swing 做一个巴士预约系统的项目。我在将数据从一个传递到另一个时遇到问题。

看到我有一个框架,我可以在其中预订座位。通过单击 select 按钮,数据将存储在文本字段中,并将作为 selected 座位发送到主框架。

主框架是

但是我遇到了一个问题,每当我点击 select 按钮时,旧的框架就不会打开。它打开一个新框架。我怎么能解决这个问题。从打开新框架。

架座选择代码为

private void selectbuttonActionPerformed{
    String seats = seatstf.gettext();
    new Billing(seats).setVisible(true);
    this.dispose();
}

并且主框架计费代码是

public Billing(String seats){
    initComponents();
    This.seatvar = seats;
    Seattf.setText(""+seatvar);
}

其中 new Billing(seats).setVisible(true); 打开一个新的 Billing 框架,而不打开文本字段中需要数据的旧框架。

怎么解决的?

使用 new Billing 您可以创建一个框架实例,这当然会打开一个新框架。 将框架保存为实例变量并使用它。

public class SeatFrame extends JFrame {
    private Billing parent;

    public SeatFrame(Billing parent) {
        this.parent = parent;
        // TODO init Frame (add Components etc.)
    }

    ...

    private void selectbuttonActionPerformed(){
        String seats = seatstf.gettext();
        parent.setSeats(seats);
        parent.setVisible(true);
        this.dispose();
    }

    ...

}

计费-class 应如下所示:

...

public Billing(){
    initComponents();
}

public void setSeats(String seats){
    this.seatvar = seats;
    Seattf.setText(seatvar);
}

public void openSeatFrame(){
   new SeatFrame(this).setVisible(true);
   this.dispose();
}

....