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

📄 iconlistview.java

📁 JGraph扩展应用。自定义Renderer,自定义视图View实现自定义工作流控件
💻 JAVA
字号:
/**
 * 
 */
package flow.graph.gui.tree;

/**
 * @author Administrator
 *
 */
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.Icon;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.ListModel;

/**
 * @author matt
 */
public class IconListView extends JScrollPane {
	interface Activateable {
		public void activate();	
	}
	
	JList					list;
	IconListRenderer 	ivr;

	IconListView(ListModel model) {
		init(model);
	}
	
	IconListView(ListModel model, Icon defaultIcon) {
		init(model);
		ivr.setDefaultIcon(defaultIcon);
	}
	
	void init(ListModel model) {
		list = new JList(model);
		list.setCellRenderer(ivr = new IconListRenderer());
		this.setViewportView(list);
		list.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent e) {
				if (e.getClickCount() == 2) {
					int index = list.locationToIndex(e.getPoint());
					handleDoubleClick(index);
				 }
			}
		});
		list.setLayoutOrientation(JList.VERTICAL_WRAP);
		list.setVisibleRowCount(-11);
	}
	
	public void handleDoubleClick(int index) {
		Object element = list.getModel().getElementAt(index);
		
		if (element instanceof Activateable) 
			((Activateable)element).activate();
	}
}

⌨️ 快捷键说明

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