Java 在不打开新JFrame的情况下,从另一个子JFrame向JFrame发送数据
我正在用JavaSwing做一个公交车预订系统的项目。在这里,我有一个从一个到另一个传递数据的问题Java 在不打开新JFrame的情况下,从另一个子JFrame向JFrame发送数据,java,swing,jframe,Java,Swing,Jframe,我正在用JavaSwing做一个公交车预订系统的项目。在这里,我有一个从一个到另一个传递数据的问题 public Billing(String seats){ initComponents(); This.seatvar = seats; Seattf.setText(""+seatvar); } 看,我有一个框架,在那里我可以预定座位。单击选择按钮,数据将存储在文本字段中,并作为所选座椅发送到主机架 public Billing(String seats){
public Billing(String seats){
initComponents();
This.seatvar = seats;
Seattf.setText(""+seatvar);
}
看,我有一个框架,在那里我可以预定座位。单击选择按钮,数据将存储在文本字段中,并作为所选座椅发送到主机架
public Billing(String seats){
initComponents();
This.seatvar = seats;
Seattf.setText(""+seatvar);
}
public Billing(String seats){
initComponents();
This.seatvar = seats;
Seattf.setText(""+seatvar);
}
主框架是
public Billing(String seats){
initComponents();
This.seatvar = seats;
Seattf.setText(""+seatvar);
}
public Billing(String seats){
initComponents();
This.seatvar = seats;
Seattf.setText(""+seatvar);
}
但我有一个问题,每当我点击选择按钮时,旧框架就无法打开。它会打开一个新的框架。我怎么能解决这个问题。从打开新的框架
public Billing(String seats){
initComponents();
This.seatvar = seats;
Seattf.setText(""+seatvar);
}
车架座椅选择代码为
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);
}
主框架计费代码为
public Billing(String seats){
initComponents();
This.seatvar = seats;
Seattf.setText(""+seatvar);
}
其中新账单(座位)。设置可见(true)
正在打开一个新的计费框架,而不打开文本字段中需要数据的旧框架
public Billing(String seats){
initComponents();
This.seatvar = seats;
Seattf.setText(""+seatvar);
}
怎么解决呢? 使用
new Billing
创建一个框架实例,当然会打开一个新框架。
public Billing(String seats){
initComponents();
This.seatvar = seats;
Seattf.setText(""+seatvar);
}
将框架另存为实例变量并使用它
public Billing(String seats){
initComponents();
This.seatvar = seats;
Seattf.setText(""+seatvar);
}
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();
}
...
}
计费类应如下所示:
public Billing(String seats){
initComponents();
This.seatvar = seats;
Seattf.setText(""+seatvar);
}
...
public Billing(){
initComponents();
}
public void setSeats(String seats){
this.seatvar = seats;
Seattf.setText(seatvar);
}
public void openSeatFrame(){
new SeatFrame(this).setVisible(true);
this.dispose();
}
....
“从另一个子JFrame向JFrame发送数据”该“子JFrame”应该是(模式)
JDialog
。看不,它不起作用了。“正在使用选定的座椅框架打开一个新框架。@hasanrafi抱歉,我的错误。”。当创建座椅选择框架时,将自动创建一个新的计费实例。我已经修改了我的代码,现在应该可以工作了。我尝试了你在评论中提供的新代码。我在座椅选择框中遇到一个问题,它被称为“SelectButtonActionPerformed(evt)”错误。@hasanrafi如何设置ActionListener?尝试此实现selectButton.addActionListener(e->selectbuttonActionPerformed())代码>