1月15日–16日:
导航视图的按钮问题还是没有解决。还是把按钮换成书上的树型结构登陆吧。经过修改后,导航界面换过来了。先加入树“数据管理”,又添加了子结点“通讯簿管理”。开始调试,但输入用户名密码后还是没弹出导航界面,爆汗。。。又仔细检查代码,特别是数据库部分的。最后发现少添加了 登陆用户 代码,在此之前,应把 登陆用户 同联系人一样单独抽象出来成一个类,代码如下:
import java.util.HashSet;
import java.util.Set;
import java.util.Set;
public class AdminUser extends LoginUser{
private Set peoples=new HashSet(); //所管理联系人
public Set getPeoples(){return peoples;} //得到所有联系人
public void setPeoples(Set peoples){this.peoples=peoples;} //设置一批联系人
public void addPeople(People people){peoples.add(people);} //增加一个联系人
public void removePeople(People people){peoples.remove(people);} //删除一个联系人
public void clearPeoples(){peoples.clear();} //清除所有联系人
public boolean isPeople(People people){return peoples.contains(people);}
}
private Set peoples=new HashSet(); //所管理联系人
public Set getPeoples(){return peoples;} //得到所有联系人
public void setPeoples(Set peoples){this.peoples=peoples;} //设置一批联系人
public void addPeople(People people){peoples.add(people);} //增加一个联系人
public void removePeople(People people){peoples.remove(people);} //删除一个联系人
public void clearPeoples(){peoples.clear();} //清除所有联系人
public boolean isPeople(People people){return peoples.contains(people);}
}
还应在数据库类中加入下面这个方法:
//根据数据库记录rs中的Type字段值来创建实际的用户类型,并赋予其特有的值
private IUser createUserFromRs(ResultSet rs) throws SQLException{
AdminUser o=new AdminUser();
Long iuser_id=new Long(rs.getLong(
Set set=getPeople(iuser_id);
o.setPeoples(set);
return o;
private IUser createUserFromRs(ResultSet rs) throws SQLException{
AdminUser o=new AdminUser();
Long iuser_id=new Long(rs.getLong(
id
));Set set=getPeople(iuser_id);
o.setPeoples(set);
return o;
}
在进行调试后,OK。导航视图出来了,用户登陆成功~