![](/img/trans.png)
[英]Send a variable from one class in a parameter to another class. Simple error
[英]Send a variable from a class to another one
我有一个具有登录名和密码字段的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
是static
,否则此代码将无法工作。
您可以使用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){..}
.
.
}
我使用了一种伪代码,但应该足够清楚
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.