我尝试制作一个登录系统,其中我将在loginpage.java
中使用Username来在currentuser.java
中设置name。
程序在loginpage.java
中显示了正确的getName。但是当我尝试在mainmenu.java
中getName时,程序显示为null。我理解在mainmenu.java
中创建新对象将使用新声明的对象。但是程序有没有办法在mainmenu.java
内部显示与loginpage.java
中相同的getName?
下面是我的setter和getter类(currentuser.java
):
public class CurrentUser {
private String name;
// Setter
public void setName(String newName) {
name = newName;
}
// Getter
public String getName() {
return name;
}
if(rs.next()){
CurrentUser User = new CurrentUser();
System.out.println("Raw data: "+ Username);
User.setName(Username);
System.out.println("Inserted name: "+ User.getName());
JOptionPane.showMessageDialog(null, "YES");
menu.setVisible(true);
this.dispose();
}
else{
JOptionPane.showMessageDialog(null, "NO");
}
下面是mainmenu.java
的一些代码行:
public MainMenu() {
initComponents();
CurrentUser User = new CurrentUser();
System.out.println("Inside MainMenu: " + User.getName());
}
在这行CurrentUser User=new CurrentUser();
中,您创建了一个新的用户对象,它用默认值null
初始化了名称,您应该使用来自同一实例的getter和setter来获得正确的值
如果您想在程序关闭和再次打开时检查名称,您需要存储用户名并与它进行检查,您可以简单地使用文本文件来存储这个名称,或者您可以使用首选项来存储和获取带有键的值
从此处检查首选项API文档
查看了以下帖子,但对我的案例没有帮助: BluetoothDevice在getName()上始终返回null 我的问题 我正在开发一个应用程序,可以扫描附近的蓝牙设备,并显示在主屏幕上。但在少数设备(如moto G、samsung note2)上,leScanCallback上的设备名称为空。 我的代码 注意:如果返回null,我需要抛出一个警报,但我不能在onlescan内这样做,因为扫描是连续
描述 (Description) java.lang.reflect.Method.getName()方法以字符串形式返回此方法的名称。 这是方法声明类的二进制名称。 声明 (Declaration) 以下是java.lang.reflect.Method.getName()方法的声明。 public String getName() 返回值 (Returns) 底层成员的简单名称。 例子 (E
描述 (Description) java.lang.reflect.Field.getName()方法返回此Field对象表示的字段的名称。 声明 (Declaration) 以下是java.lang.reflect.Field.getName()方法的声明。 public String getName() 返回值 (Returns) 底层成员的简单名称。 例子 (Example) 以下示例显
描述 (Description) java.lang.reflect.Constructor.getName()方法以字符串形式返回此构造函数的名称。 这是构造函数声明类的二进制名称。 声明 (Declaration) 以下是java.lang.reflect.Constructor.getName()方法的声明。 public String getName() 返回值 (Returns) 底层
描述 (Description) java.util.zip.ZipFile.getName()方法返回ZIP文件的路径名。 声明 (Declaration) 以下是java.util.zip.ZipFile.getName()方法的声明。 public String getName() 返回值 (Returns) ZIP文件的路径名。 先决条件 在D:》 test 》目录中创建一个文件Hell
描述 (Description) java.util.zip.ZipEntry.getName()方法返回条目的名称。 声明 (Declaration) 以下是java.util.zip.ZipEntry.getName()方法的声明。 public String getName() 返回值 (Returns) 条目的名称。 先决条件 在D:》 test 》目录中创建一个文件Hello.txt,