Я разрабатываю приложение, в котором я хотел бы отобразить имя пользователя в верхней части экрана после того, как пользователь вошел в систему.Также мне нужно включить пять JMenuItems только после того, как пользователь вошел в систему. Я использовал следующий код и вызвал его из условия успешного входа в систему, но это не меняет приложения.
ПРИМЕЧАНИЕ: -Имя пользователя должно отображаться в 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 ");
Любая помощь высоко ценится
Спасибо всем заранее !!!