⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addressviewcontentprovider.java

📁 eclipse开发笔记
💻 JAVA
字号:
package com.plugindev.addressbook.views;

import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.Viewer;

import com.plugindev.addressbook.models.AddressManager;
import com.plugindev.addressbook.models.AddressManagerEvent;
import com.plugindev.addressbook.models.AddressManagerListener;

public class AddressViewContentProvider implements IStructuredContentProvider,
		AddressManagerListener {
	private TableViewer viewer;
	private AddressManager manager;

	public Object[] getElements(Object inputElement) {
		return manager.getAddresses();
	}

	public void dispose() {

	}

	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
		this.viewer = (TableViewer)viewer;
		if(manager != null)
			manager.removeAddressManagerListener(this);
		manager = (AddressManager)newInput;
		if(manager != null)
		{
			manager.addAddressManagerListener(this);
		}
	}

	public void addressesChanged(AddressManagerEvent event) {
		viewer.getTable().setRedraw(false);
		try{
			viewer.remove(event.getItemsRemoved());
			viewer.add(event.getItemsAdded());
			viewer.update(event.getItemsModified(), null);
		}
		finally{
			viewer.getTable().setRedraw(true);
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -