gpt4 book ai didi

java - 将变量从一个类发送到另一个类

转载 作者:行者123 更新时间:2023-12-01 15:23:04 28 4
gpt4 key购买 nike

我有一个包含登录名和密码字段的 Jframe 类。登录时,我必须显示登录者的信息,因此我必须从第一个 Jframe 中检索他的登录信息,以便在另一个 Jframe 中进行处理。这是我制作的,但登录在第二个 jframe 中返回 NULL:第一个 Jframe(登录名和密码字段):

private void button_connectActionPerformed(java.awt.event.ActionEvent evt) {                                               
// TODO add your handling code here:
String x= loginField.getText();
String y= passwordField.getText();
AuthentificationDAO authDAO= new AuthentificationDAO();
boolean ok_login= authDAO.verify_login(x);
int pass= Integer.parseInt(y);
System.out.println("password retrieved"+pass);
boolean ok_pass=authDAO.verify_password(pass);
System.out.println("ok pass"+ok_pass);
if (ok_login & ok_pass)
{
System.out.println("Login found!");
Enseignant e= new Enseignant();
edu.app.persistence.Enseignant ens= new edu.app.persistence.Enseignant(x);
//ens.setLogin(x);
System.out.println("login SET:"+ens.getLogin());
e.setVisible(true);
this.setVisible(false);


}
else {
System.out.println("Login NOT found!");
JOptionPane.showMessageDialog(null, "Accourt NOT found. Please check your login or password.", "Check Login/Pass", 1);
}

第二个 Jframe 将显示该登录的信息:

私有(private) void mauvaisFieldFocusGained(java.awt.event.FocusEvent evt) {

edu.app.persistence.Enseignant ens= new edu.app.persistence.Enseignant();
String login=ens.getLogin();
System.out.println("LOGIN EST:"+login);
StatsDAO stats= new StatsDAO();
int id=stats.get_id_from_login(login);
System.out.println("ID="+id);

}

知道如何解决这个问题吗?非常感谢。

最佳答案

除非ens.login静态,否则此代码将不起作用。

您可以使用MVC模式,或者您可以让第二个框架类扩展JFrame,以便向其中添加登录字段..

类似这样的事情:

    class1 {
class2 frame2 = new class2();
void login(){
String x = loginField.getText();
edu.app.persist.teach ens= new edu.app.persist.teach(x);
class2.setLogin(x);
}
}

class2 extends JFrame{
String login;
String getLogin(){..}
void setLogin(String s){..}
.
.
}

我使用了一种伪代码,但它应该足够清晰

关于java - 将变量从一个类发送到另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10582098/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com