resulttreeiconrenderer.java

来自「UCS (Ultra Corba Simulator) is one more 」· Java 代码 · 共 82 行

JAVA
82
字号
/**
 * 
 */
package com.corba.mnq.ui;

import java.awt.Color;
import java.awt.Component;
import java.io.File;

import javax.swing.ImageIcon;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JTree;
import javax.swing.tree.TreeCellRenderer;

import com.corba.mnq.tool.idl.Args;
import com.corba.mnq.tool.idl.type.TypeBase;

public class ResultTreeIconRenderer extends JCheckBox implements
		TreeCellRenderer {

	public ResultTreeIconRenderer() {
	}

	protected boolean selected;

	protected JLabel label = new JLabel();

	public Component getTreeCellRendererComponent(JTree jtree, Object obj,
			boolean flag, boolean flag1, boolean flag2, int i, boolean flag3) {

		Component ret = null;

		MNQMutableTreeNode node = (MNQMutableTreeNode) obj;
		Object o = node.getUserObject();
		String s = null;
		s = o.toString();
		setText(s);
		label.setText(s);

		String iconname = "default.gif";

		if (o instanceof Args) {
			if (((Args) o).pt.selected)
				this.setSelected(true);
			else
				this.setSelected(false);

			ret = this;
		} else if (o instanceof TypeBase) {
			if (((TypeBase) o).selected)
				this.setSelected(true);
			else
				this.setSelected(false);
			ret = this;
		} else {
			label.setIcon(new ImageIcon("images" + File.separator + "nodes" + File.separator
					+ iconname));
			ret = label;
		}

		setForeground(Color.black);

		if (flag3)
			setForeground(Color.blue);
		else
			setForeground(Color.black);
		// setFont(nodedata.getFont());
		selected = flag;
		setOpaque(true);
		if (flag) {
			setBackground(Color.blue);
			setForeground(Color.white);
		} else {
			setForeground(Color.black);
			setBackground(Color.white);
		}
		return ret;
	}

}

⌨️ 快捷键说明

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