问题描述
我有 5 个表单,其中一个打开时另一个关闭。第二个会员登录屏幕。最后一个是购票画面。在购票屏幕上进行预订。会员信息保存在数据库中。如果登录屏幕上的电子邮件和密码匹配,请使用数据库中的电子邮件和密码登录。我想在最后一个表单中访问当前用户。
不幸的是,我从一开始就没有为此采取行动。现在,如果登录成功,我可以将用户的电子邮件转发到最后一个表单。我可以从这封邮件中访问会员 ID,并在最终预订过程中添加会员信息。
我无法将您的会员电子邮件转发到最后一个表格!那就是问题所在。我已经在表单之间进行了很多切换,但是我只能对连续打开和关闭的表单执行此操作。如果我使用构造函数创建一个对象并按以下方式键入 setVisible(true)
,电子邮件将被传输,但最后一个表单在第一个表单之后打开。如果我去掉setVisible
方法或者make false,即使最后一部分传输了数据,也无法使用,因为我无法将其打印在标签上。
private void btnMemberEnteractionPerformed(java.awt.event.ActionEvent evt) {
BiletAl pencere2 = new BiletAl(txtUyeEPosta.getText(),lbl.getText());
pencere2.setVisible(true);}
public class BiletAl extends javax.swing.JFrame {
public BiletAl() {
initComponents();
}
public BiletAl(String gelenEPosta,String lbl) {
initComponents();
System.out.println(gelenEPosta);
lblGelenEposta.setVisible(true);
lblGelenEposta.setText(gelenEPosta);
}
如果发生这种情况:表单打开顺序被破坏。但是“nil”文本,即输入的电子邮件被传输到标签:
private void btnMemberEnteractionPerformed(java.awt.event.ActionEvent evt) {
BiletAl pencere2 = new BiletAl(txtUyeEPosta.getText(),lbl.getText());
}
如果第一部分的变化是这样的:在表单之间切换是正确的,但即使作为构造函数参数来的数据与System.out.println
是正确的,当setLabel
时它不会将其添加到标签中.标签不会在收到的电子邮件中写上“nil”。
解决方法
然后尝试使用这个命令:
1)this.setVisible(true); 2)this.setVisible(false);