web-dev-qa-db-fra.com

java, met en place des méthodes

Cette question a déjà été posée, mais même après avoir lu: 

Méthodes Java "Get" et "Set"

La méthode Java Get/Set renvoie la valeur null

Et puis je ne comprends toujours pas comment résoudre mon problème.

Lors de l'accès à des variables d'une classe à l'aide de méthodes get provenant d'une autre classe, je reçois la valeur null. 

Comment puis-je recevoir mes valeurs correctes au lieu de null? 


C’est la classe où j’essaie d’obtenir mes variables FROM (tout n’est pas inclus). 

public class RLS_character_panel extends javax.swing.JPanel implements ActionListener, ItemListener { 

    private String name1 = "hello"; 

    public String getName1() { 
        return name1; 
    } 

    public void setName1(String name1) { 
        this.name1 = name1; 
    } 

} 

C’est la classe où j’essaie d’obtenir les valeurs TO. Cette classe étend JFrame afin que je puisse ajouter un JPanel qui affiche la variable. (JPanel est encore une autre classe appelée: RLS_strid_panel, qui est ajoutée à cette image). 

public class RLS_strid_Java extends JFrame { 

    RLS_character_panel test = new RLS_character_panel(); 

    String name1 = test.getName1(); 

    RLS_strid_panel p = new RLS_strid_panel(namn1); 

    // constructor
    public RLS_strid_Java(String titel) { 
        super(titel); 
        this.setSize(1000, 772); 
        this.setVisible(true); 
        this.setResizable(false); 
        this.add(p); 
    } 
}

le Jpanel affiche null.

1
Jonatan Jonsson

Pour comprendre get et set, tout est lié à la manière dont les variables sont transmises entre différentes classes. 

La méthode get est utilisée pour obtenir ou récupérer une valeur de variable particulière d'une classe. 

Une valeur définie est utilisée pour stocker les variables.

L'objet principal de l'extraction et de la définition est d'extraire et de stocker les valeurs de données en conséquence.

Ce que j'ai fait dans cet ancien projet, c’est que j’avais une classe User avec mes méthodes get et set que j’avais utilisées dans ma classe Server.

Les méthodes get set de la classe User:

public int getuserID()
    {
        //getting the userID variable instance
        return userID;
    }
    public String getfirstName()
    {
        //getting the firstName variable instance
        return firstName;
    }
    public String getlastName()
    {
        //getting the lastName variable instance
        return lastName;
    }
    public int getage()
    {
        //getting the age variable instance
        return age;
    }

    public void setuserID(int userID)
    {
        //setting the userID variable value
        this.userID = userID;
    }
    public void setfirstName(String firstName)
    {
        //setting the firstName variable text
        this.firstName = firstName;
    }
    public void setlastName(String lastName)
    {
        //setting the lastName variable text
        this.lastName = lastName;
    }
    public void setage(int age)
    {
        //setting the age variable value
        this.age = age;
    }
}

Ensuite, cela a été implémenté dans la méthode run() dans ma classe Server comme suit:

//creates user object
                User use = new User(userID, firstName, lastName, age);
                //Mutator methods to set user objects
                use.setuserID(userID);
                use.setlastName(lastName);
                use.setfirstName(firstName);               
                use.setage(age); 
3
Osiris93

votre classe de panel n'a pas de constructeur acceptant une chaîne

essayer le changement

RLS_strid_panel p = new RLS_strid_panel(namn1);

à

RLS_strid_panel p = new RLS_strid_panel();
p.setName1(name1);
0
Komgcn