首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

java对话框相干

2013-06-25 
java对话框相关[imghttp://][/img]这是我做的一个选择器对话框,就是按照选择条件显示相应的数据,但是我想

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;
}


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


xxxx_actionPerformed(ActionEvent e){   //查询按钮的点击事件处理方法
   ......
   //保存该条件到本地文件
   rememberQueryCondition();
}
//保存查询条件的方法实现
void rememberQueryCondition(){
  QueryCondition qc = new QueryCondition();
  String value = this.valueTxt.getText();//获取文本框的值
  qc.setValue(value);
  boolean flag = writeObjectToFile(qc,"文件路径");
  if(flag){
    ....
  }else{
    ....
  }
}
//将序列化的类写到指定文件 
writeObjectToFile(Object o, String filePath){
  boolean flag = true;
    ObjectOutputStream oos = null;
    try {
      oos = new ObjectOutputStream(new FileOutputStream(file));
      oos.writeObject(o);
      oos.flush();
    }
    catch (IOException ex1) {
      ex1.printStackTrace();
      flag = false;
    }
    finally {
      try {
        oos.close();
      }
      catch (IOException ex2) {
        ex2.printStackTrace();
        flag = false;
      }
    }
    return flag;
}

热点排行