日期:2014-05-20  浏览次数:20834 次

java对话框相关
[img=http://][/img]
这是我做的一个选择器对话框,就是按照选择条件显示相应的数据,但是我想在每次打开对话框的时候保留上次的选择条件,请问用java该怎么实现啊 
即在右边的jList保留上次查询时选择的条件。

------解决方案--------------------
每次查完记录上次的结果,打开对话框就显示呗
------解决方案--------------------
你那数据是怎么显示的?记住上次的查询条件不就行了吗
------解决方案--------------------
建立一个实现序列化接口的类,每次查询后,把左边的查询条件保存到这个类,然后写到本地文件,每次打开对话框的时候加载查询条件,over
------解决方案--------------------
引用:
[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;
}


//在你点击查询后保存该条件到本地文件