`
redheart_2006
  • 浏览: 21839 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类

eclipse中状态保存以及首选项的变化监听

阅读更多

1.首选项的变化监听

  在要监听的类中间分别写入下列代码

a.一般写在构造函数中:

ClassFTPPlugin.getDefault().getPluginPreferences().
  addPropertyChangeListener(propertyChangeListener);
 

b.然后在该类中写入field 监听类

 private final IPropertyChangeListener propertyChangeListener = new IPropertyChangeListener() {
     public void propertyChange(PropertyChangeEvent event) {
     System.out.println("event.getProperty():"+event.getProperty());}

2.状态保存

在view和edit中一般有public void saveState(IMemento memento)方法public void init(IViewSite site, IMemento memento)方法,如果想在其它非API的地方写保存信息,可如下,以下分别为读、写

读(恢复)

reader = new FileReader(getAddressesFile());
			loadAddresses(XMLMemento.createReadRoot(reader));

 

private void loadAddresses(XMLMemento memento) 
{ 
IMemento[] children = memento.getChildren(TAG_ADDRESS); 
for(int i = 0; i < children.length; i++) 
{ 
AddressItem item = createNewAddressItem(children[i].getString(TAG_NAME), 
children[i].getString(TAG_CATEGORY)); 
if(item != null) 
addresses.add(item); 
} 
}
 

 写(保存)

	public void saveAddresses(){
		if(addresses == null)
			return;
		XMLMemento memento = XMLMemento.createWriteRoot(TAG_ADDRESSES);
		saveAddresses(memento);
		FileWriter writer = null;
		try{
			writer = new FileWriter(getAddressesFile());
			memento.save(writer);
		}catch(IOException e){
			//to be added
		}finally{
			try{
				if(writer != null)
					writer.close();
			}catch(IOException e){
				//to be added
			}
		}
	}

 

public void saveAddresses(IMemento memento){
		Iterator iter = addresses.iterator();
		while(iter.hasNext()){
			AddressItem item = (AddressItem)iter.next();
			IMemento child = memento.createChild(TAG_ADDRESS);
			child.putString(TAG_NAME, item.getName());
			child.putString(TAG_CATEGORY, item.getCategory().getCategoryName());
		}
	}

 

分享到:
评论

相关推荐

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例010 在Eclipse项目中编程输出字符表情 15 实例011 为Eclipse添加新的JDK环境 17 实例012 设置Eclipse中文API提示信息 18 实例013 为项目添加类库 20 实例014 使当前项目依赖另一个项目 21 1.3 界面设计器 22 ...

    精通ANDROID 3(中文版)1/2

    9.4 使用首选项保存状态  9.5 参考资料  9.6 小结  第10章 探索安全性和权限  10.1 理解Android安全性模型  10.1.1 安全性概念概述  10.1.2 为部署签名应用程序  10.2 执行运行时安全性检查  10.2.1...

    精通Android 3 (中文版)2/2

    9.4 使用首选项保存状态  9.5 参考资料  9.6 小结  第10章 探索安全性和权限  10.1 理解Android安全性模型  10.1.1 安全性概念概述  10.1.2 为部署签名应用程序  10.2 执行运行时安全性检查  10.2.1...

    Java2核心技术.part5

    3.10.2数组初始化器以及匿名数组 3.10.3数组拷贝 3.10.4命令行参数 3.10.5数组排序 3.10.6多维数组 3.10.7不规则数组 第4章对象与类 4.1面向对象程序设计概述 4.1.1 OOP词汇表 4.1.2对象 ...

    Java2核心技术.part3

    3.10.2数组初始化器以及匿名数组 3.10.3数组拷贝 3.10.4命令行参数 3.10.5数组排序 3.10.6多维数组 3.10.7不规则数组 第4章对象与类 4.1面向对象程序设计概述 4.1.1 OOP词汇表 4.1.2对象 ...

    Java2核心技术.part1

    3.10.2数组初始化器以及匿名数组 3.10.3数组拷贝 3.10.4命令行参数 3.10.5数组排序 3.10.6多维数组 3.10.7不规则数组 第4章对象与类 4.1面向对象程序设计概述 4.1.1 OOP词汇表 4.1.2对象 4.1.3类...

    Java2核心技术.part6

    3.10.2数组初始化器以及匿名数组 3.10.3数组拷贝 3.10.4命令行参数 3.10.5数组排序 3.10.6多维数组 3.10.7不规则数组 第4章对象与类 4.1面向对象程序设计概述 4.1.1 OOP词汇表 4.1.2对象 ...

    Java2核心技术.part4

    3.10.2数组初始化器以及匿名数组 3.10.3数组拷贝 3.10.4命令行参数 3.10.5数组排序 3.10.6多维数组 3.10.7不规则数组 第4章对象与类 4.1面向对象程序设计概述 4.1.1 OOP词汇表 4.1.2对象 ...

    Java2核心技术.part2

    3.10.2数组初始化器以及匿名数组 3.10.3数组拷贝 3.10.4命令行参数 3.10.5数组排序 3.10.6多维数组 3.10.7不规则数组 第4章对象与类 4.1面向对象程序设计概述 4.1.1 OOP词汇表 4.1.2对象 ...

    JAVA上百实例源码以及开源项目

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节...保存、如何从文件中得到公钥编码的字节数组、如何从字节数组解码公钥...

    java源码包2

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节...保存、如何从文件中得到公钥编码的字节数组、如何从字节数组解码公钥...

    JAVA上百实例源码以及开源项目源代码

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节...保存、如何从文件中得到公钥编码的字节数组、如何从字节数组解码公钥...

    java源码包---java 源码 大量 实例

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节...保存、如何从文件中得到公钥编码的字节数组、如何从字节数组解码公钥...

    java源码包3

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节...保存、如何从文件中得到公钥编码的字节数组、如何从字节数组解码公钥...

    java源码包4

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节...保存、如何从文件中得到公钥编码的字节数组、如何从字节数组解码公钥...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

Global site tag (gtag.js) - Google Analytics