java对话框相关
[img=http://][/img]
这是我做的一个选择器对话框,就是按照选择条件显示相应的数据,但是我想在每次打开对话框的时候保留上次的选择条件,请问用java该怎么实现啊
即在右边的jList保留上次查询时选择的条件。
[解决办法]
每次查完记录上次的结果,打开对话框就显示呗
[解决办法]
你那数据是怎么显示的?记住上次的查询条件不就行了吗
[解决办法]
建立一个实现序列化接口的类,每次查询后,把左边的查询条件保存到这个类,然后写到本地文件,每次打开对话框的时候加载查询条件,over
[解决办法]
//建立个实体类,保存查询条件
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;
}