我试图从一个类传递字符串到另一个类,但是我得到的结果是'null'。我想将LoginFrame中的字符串用户名传递给HomeworkFrame;在java中将字符串从一个类传递到另一个类
HomeworkFrame:
public void loadSubjects(){
String item;
try{
System.out.println(username);
Scanner f = new Scanner (new FileReader (username + " " + "Subjects" + ".txt"));
while(f.hasNext()){
item = f.nextLine();
chSubjects.add(item);
}
f.close();
}catch(Exception e){
JOptionPane.showMessageDialog(null, "Subjects cannot be loaded!", "Error", JOptionPane.ERROR_MESSAGE);
}
}
LoginFrame:
public void loginUser(){
r = new Registration();
h = new HomeworkFrame();
l = new Login();
l.username = txtUser.getText();
l.password = txtPass.getText();
try{
String line;
boolean passwordFound = false ;
BufferedReader f = new BufferedReader(new FileReader(l.username + ".txt"));
while((line = f.readLine()) != null){
if(line.equals(l.password)){
passwordFound = true;
}
}
if(passwordFound){
h.username = l.username;
dispose();
m.setSize(700,600);
m.setLocation(100,100);
m.setVisible(true);
}else{
JOptionPane.showMessageDialog(null, "Wrong information!", "Error", JOptionPane.ERROR_MESSAGE);
}
f.close();
}catch(Exception e){
JOptionPane.showMessageDialog(null, "Wrong information!", "Error", JOptionPane.ERROR_MESSAGE);
}
}
很显然,我得到的错误 “对象不能加载” 作为用户名是空(我使用println方法检查的话) 。
您是否尝试调试代码(例如使用eclipse)并观察变量传递? – lilalinux
我使用JCreator。 – Matth963
你没有显示你调用'loadSubjects()'的代码。请你能提供这个吗? –