簡體   English   中英

將變量從一個類發送到另一個

[英]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.loginstatic ,否則此代碼將無法工作。

您可以使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM