This question has been asked before, but even after reading:
Java "Get" and "Set" Methods
Java Get/Set method returns null
And more I still don't understand how to solve my problem.
When accessing variables in a class using get methods from another class I receive the value null.
How do I recieve my correct values instead of null?
This is the class where I try to get my variables FROM (not everything included).
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;
}
}
This is the class where i try to get the values TO. This class extends JFrame so that I can add a JPanel which displays the variable. (the JPanel is yet another class called: RLS_strid_panel , which is added upon this frame).
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);
}
}
the Jpanel Displays null.
To understand get and set, it's all related to how variables are passed between different classes.
The get method is used to obtain or retrieve a particular variable value from a class.
A set value is used to store the variables.
The whole point of the get and set is to retrieve and store the data values accordingly.
What I did in this old project was I had a User class with my get and set methods that I used in my Server class.
The User class's get set methods:
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;
}
}
Then this was implemented in the run()
method in my Server class as follows:
//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);
your panel class don't have a constructor that accepts a string
try change
RLS_strid_panel p = new RLS_strid_panel(namn1);
to
RLS_strid_panel p = new RLS_strid_panel();
p.setName1(name1);