`
redheart_2006
  • 浏览: 22404 次
  • 性别: 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());
		}
	}

 

分享到:
评论

相关推荐

    Eclipse首选项开发

    在Eclipse开发中,首选项(Preference)是实现用户自定义参数配置功能的重要组成部分。这项功能允许用户根据自己的喜好对软件应用的行为进行配置,并且能够将这些配置信息持久化存储。在开发Eclipse RCP (Rich Client ...

    Eclipse插件开发培训_资源管理(入门).ppt

    核心概念包括工作区(一个抽象的概念,不直接对应于文件系统)、路径(相对和绝对路径)、资源句柄(如IResource)、资源变化监听器、Builder、Nature、Marker、ResourceInfo和FileInfo、资源树以及资源改变增量信息...

    org.eclipse.paho.client.mqttv3-1.2.01.rar

    此外,还可以设置连接选项,如超时时间、是否保存会话状态等。 3. **发布与订阅**:发布消息通过`MqttClient.publish()`方法实现,其中包含主题(Topic)和负载(Payload)。订阅主题则使用`MqttClient.subscribe()...

    Android 获得传感器的数据保存在SD卡中

    本项目"Android 获得传感器的数据保存在SD卡中"提供了一个实现这一功能的示例,它可以在Eclipse环境下运行,并且允许自定义保存的文件名和数据更新频率。 首先,我们需要理解Android的传感器系统服务。Android提供...

    安卓拍照上传录像监控录屏相关-android录制视频可暂停继续eclipse导入即可用.rar

    10. 监控与录屏:监控功能可能涉及监听设备的特定事件,如屏幕亮度变化、位置改变等,而录屏则可能需要用到系统级别的权限,例如`SYSTEM_ALERT_WINDOW`(悬浮窗权限)以及第三方库如`scrcpy`。 这个项目提供了暂停...

    简单计算器

    - 对于`CheckBox`,可以使用`CheckedChangeListener`监听其选中状态变化,根据状态改变计算器的行为。 5. **Java编程与运算逻辑**: - 在Java代码中,定义变量存储用户输入的数值,使用条件语句和运算符进行计算...

    java文本编辑器[收集].pdf

    - **ItemListener**:用于监听复选框或单选按钮的状态变化,如自动换行选项。 5. **开发环境**: - **Eclipse**:是一个流行的Java集成开发环境,提供了代码编写、调试和项目管理等功能。 6. **程序逻辑**: - ...

    安卓实现播放器功能

    - 通过重写生命周期回调方法来监控Activity的状态变化 - 如`onCreate()`, `onStart()`, `onResume()`, `onPause()`, `onStop()`, `onDestroy()`等 2. **相关回调方法的理解与应用** - 例如,在`onResume()`中...

    android 8.如何从DDMS发出简(短)讯给应用程序

    在Android开发过程中,调试是必不可少的一环,而...在Android 8.0中,尽管现在的开发环境可能已经发生了变化(例如Eclipse被Android Studio取代),但基本的原理和步骤仍然相同,只是具体的界面和操作可能会有所差异。

    Android简易播放器 初学

    这个项目可以帮助开发者熟悉Android SDK、Eclipse IDE以及Android Studio中的基本操作,掌握如何处理媒体文件、UI设计、事件监听等核心概念。下面我们将深入探讨这个项目涉及的关键知识点。 1. **Android SDK**:...

    Android MQTT

    3. **设置连接回调**:定义`MqttCallbackExtended`接口的实现,处理连接状态变化、消息接收等事件。 ```java client.setCallback(new MqttCallbackExtended() { // 实现接口方法... }); ``` 4. **建立连接**:...

    flex 游戏人物移动和多人同步简单实例

    使用SharedObject,我们可以将玩家的移动信息、状态等数据保存在服务器上,当其他玩家连接时,可以从服务器获取并更新这些数据。这种方法虽然简单,但可能无法应对大量用户同步的需求,因为SharedObject有大小限制,...

    Java记事本程序报告书

    - “文件”菜单包括“新建”、“打开”、“保存”、“另存为”和“退出”等功能。 - “编辑”菜单提供了“撤销”、“剪切”、“复制”、“粘贴”、“删除”、“查找”、“替换”等编辑操作。 - “格式”菜单允许...

    CVS2.5.03的使用教程

    它能够帮助团队成员在协同开发过程中有效地管理和追踪文件的变化历史。CVS2.5.03作为一款成熟且稳定的版本控制系统,适用于各种规模的项目,尤其适合中小型企业或开源项目的版本控制需求。 #### 二、环境准备 - **...

    svn服务端和客户端

    客户端安装过程中通常没有特殊配置要求,但可以自定义安装路径和是否创建桌面快捷方式等选项。 - 最后,安装汉化包。这通常涉及替换或添加客户端的本地化文件,确保客户端启动后显示中文界面。 5. **基本操作**: ...

    android用户登录代码

    本文档将详细介绍一个基于Eclipse开发环境的Android应用程序中的用户登录功能实现。此登录模块通过网络请求来验证用户的用户名和密码,同时提供了记住密码的功能。 #### 二、核心类与方法 ##### 1. `Login` 类 `...

    android 简易

    通常会指定项目的名称、最小支持的Android版本以及其他配置选项。 - **工程的目录结构**:Android项目通常包含以下目录: - `src/main/java`:存放应用程序的源代码文件。 - `src/main/res`:存放资源文件,如布局...

    Apress.Beginning.Android.3

    - **Action Bar组件**:详细解释Action Bar的作用以及如何在应用中使用它来提供统一的操作选项。 - **自定义菜单**:展示如何根据需要定制Action Bar中的菜单项。 #### 章节28:Fragments - **Fragment概念**:...

Global site tag (gtag.js) - Google Analytics