[img=http://][/img]
这是我做的一个选择器对话框,就是按照选择条件显示相应的数据,但是我想在每次打开对话框的时候保留上次的选择条件,请问用java该怎么实现啊
即在右边的jList保留上次查询时选择的条件。
------解决方案--------------------
每次查完记录上次的结果,打开对话框就显示呗
------解决方案--------------------
你那数据是怎么显示的?记住上次的查询条件不就行了吗
------解决方案--------------------
建立一个实现序列化接口的类,每次查询后,把左边的查询条件保存到这个类,然后写到本地文件,每次打开对话框的时候加载查询条件,over
------解决方案--------------------
配置文件,至于何种形式的保存
提取就看你的设计了
------解决方案--------------------
就写到本地文件啊,举个例子啊,比如,你这界面里的各种文本框的值啊,下拉框的值啊,JList的值啊,都写到序列化的类,保存到本地文件,然后在打开这个对话框的时候再初始化所有控件的值,我写个例子吧,简单的就保存文本框的值:
//建立个实体类,保存查询条件
public class QueryCondition implements Serializable{
private String value;
public void setValue(String value){
this.value=value;
}
public String getValue(){
return this.value;
}
}
//以下代码写到你的弹出框类里
//在初始化弹出框时加载已记忆的查询条件
xxxDialog(){
...
initQueryConditionFromFile();
}
//加载记忆的查询条件
void initQueryConditionFromFile(){
Object o = readObjectFromFile(new File("文件路径"));
if (o == null) {
return;
}
QueryCondition qc = (QueryCondition) o;
this.valueTxt.setText(qc.getValue());
}
//从文件读取查询条件
Object readObjectFromFile(File file){
ObjectInputStream ois = null;
try {
ois = new ObjectInputStream(new FileInputStream(file));
if (ois != null) {
return ois.readObject();
}
}
catch (Exception e) {
return null;
}
finally {
try {
if (ois != null) {
ois.close();
}
}
catch (Exception ex) {
ex.printStackTrace();
}
}
return null;
}
//在你点击查询后保存该条件到本地文件