我正在开发一个应用程序,我想在用户登录系统后在屏幕顶部显示用户名。此外,我只需要在用户登录后启用五个 JMenuItems。我使用以下代码并从成功登录的 If 条件中调用它,但它根本没有改变应用程序。
注意:- 用户名将显示在 JFrame 中,登录表单是 JInternalFrame 所有 JMenuItems 也在 JFrame 中
obj2 是为 LoginModel 类创建的对象,用于检索用户名
private String global_username="";
public String getGlobalUsername(){
return global_username;
}
我调用来更改 JMenuItems 的状态并设置 JLabel 的值的方法
public void disableMenues(){
mntmSupplierManagement.setEnabled(false);
mntmEmployeeManagement.setEnabled(false);
mntmStockManagement.setEnabled(false);
mntmReporting.setEnabled(false);
mntmTransaction.setEnabled(false);
userName.setText("Logged in as "+obj2.getGlobalUsername());
}
我在 JInternalFrame(登录表单)中使用了下面的代码,以便在用户登录后调用上述方法
if(username.equals(user)&&password.equals(pass)){
System.out.println("Logged into the system");
global_username=username;
accountType=acc;
updateView();
else{
System.out.println("Unsuccessful login");
updateView();
}
我还使用以下代码创建了 JLabel
JLabel userName=new JLabel();
userName.setText("Logged in as "+obj2.getGlobalUsername());
这给了我一个 NullPointerException 所以我把它改成
userName.setText("Logged in as ");
任何帮助是极大的赞赏
提前谢谢大家!!!