云付通推荐人收益是不是真的,今天有人推荐我使用云付通推荐人收益,但是听完感觉他们的模式像金字塔模式,上家下家的。

Jtree添加图标
Jtree添加图标
发布时间: 8:50:08
编辑:www.fx114.net
本篇文章主要介绍了"Jtree添加图标",主要涉及到Jtree添加图标方面的内容,对于Jtree添加图标感兴趣的同学可以参考一下。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.C
import javax.swing.BorderF
import &javax.swing.JT
import &javax.swing.BoxL
import &javax.swing.tree.TreeP
import &javax.swing.tree.DefaultMutableTreeN
import &javax.swing.tree.DefaultTreeM
import javax.swing.tree.*; &
public class ExtendsDefaultTreeCellRenderer & &
& & JFrame jf = new JFrame(&根据节点类型定义图标&); &
& & //定义几个初始节点 &
& & DefaultMutableTreeNode root = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.ROOT , &数据库导航&)); &&
& & DefaultMutableTreeNode salaryDb = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.DATABASE , &公司工资数据库&)); &
& & DefaultMutableTreeNode customerDb = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.DATABASE , &公司客户数据库&)); &
& & //定义salaryDb的两个子节点 &
& & DefaultMutableTreeNode employee = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.TABLE , &员工表&)); &
& & DefaultMutableTreeNode attend = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.TABLE , &考勤表&)); &
& & //定义customerDb的一个子节点 &
& & DefaultMutableTreeNode contact = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.TABLE , &联系方式表&)); &
& & //定义employee的三个子节点 &
& & DefaultMutableTreeNode id = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.INDEX , &员工ID&)); &
& & DefaultMutableTreeNode name = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.COLUMN , &姓名&)); &
& & DefaultMutableTreeNode gender = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.COLUMN , &性别&)); &
& & public void init()throws Exception &
& & & & //通过add方法建立树节点之间的父子关系 &
& & & & root.add(salaryDb); &
& & & & root.add(customerDb); &
& & & & salaryDb.add(employee); &
& & & & salaryDb.add(attend); &
& & & & customerDb.add(contact); &
& & & & employee.add(id); &
& & & & employee.add(name); &
& & & & employee.add(gender); &
& & & & //以根节点创建树 &
& & & & tree = new JTree(root); &
& & & & &&
& & & & //设置该JTree使用自定义的节点绘制器 &
& & & & tree.setCellRenderer(new MyRenderer()); &
& & & & //设置是否显示根节点的“展开/折叠”图标,默认是false &
& & & & tree.setShowsRootHandles(true); &
& & & & //设置节点是否可见,默认是true &
& & & & tree.setRootVisible(true); &
& & & & //设置使用Windows风格外观 &
& & & & UIManager.setLookAndFeel(&com.sun.java.swing.plaf.windows.WindowsLookAndFeel&); &
& & & & //更新JTree的UI外观 &
& & & & SwingUtilities.updateComponentTreeUI(tree); &
& & & & jf.add(new JScrollPane(tree)); &
& & & & jf.pack(); &
& & & & jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); &
& & & & jf.setVisible(true); &
& & public static void main(String[] args) throws Exception &
& & & & new ExtendsDefaultTreeCellRenderer().init(); &
//定义一个NodeData类,用于封装节点数据 &
class NodeData &
& & public int nodeT &
& & public String nodeD &
& & public NodeData(int nodeType , String nodeData) &
& & & & this.nodeType = nodeT &
& & & & this.nodeData = nodeD &
& & public String toString() &
& & & & return nodeD &
//定义一个接口,该接口里包含数据库对象类型的常量 &
interface DBObjectType &
& & int ROOT = 0; &
& & int DATABASE = 1; &
& & int TABLE = 2; &
& & int COLUMN = 3; &
& & int INDEX = 4; &
class MyRenderer extends DefaultTreeCellRenderer &
& & //初始化5个图标 &
& & ImageIcon rootIcon = new ImageIcon(&open.png&); &
& & ImageIcon databaseIcon = new ImageIcon(&open.png&); &
& & ImageIcon tableIcon = new ImageIcon(&open.png&); &
& & ImageIcon columnIcon = new ImageIcon(&open.png&); &
& & ImageIcon indexIcon = new ImageIcon(&open.png&); &
& & public Component getTreeCellRendererComponent(JTree tree, Object value, &
& & & & boolean sel, boolean expanded, &boolean leaf, int row, boolean hasFocus) &
& & & & //执行父类默认的节点绘制操作 &
& & & & super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); &
& & & & DefaultMutableTreeNode node = (DefaultMutableTreeNode) &
& & & & NodeData data = (NodeData)node.getUserObject(); &
& & & & //根据数据节点里的nodeType数据决定节点图标 &
& & & & ImageIcon icon = &
& & & & switch(data.nodeType) &
& & & & { &
& & & & & & case DBObjectType.ROOT: &
& & & & & & & & icon = rootI &
& & & & & & & & &
& & & & & & case DBObjectType.DATABASE: &
& & & & & & & & icon = databaseI &
& & & & & & & & &
& & & & & & case DBObjectType.TABLE: &
& & & & & & & & icon = tableI &
& & & & & & & & &
& & & & & & case DBObjectType.COLUMN: &
& & & & & & & & icon = columnI &
& & & & & & & & &
& & & & & & case DBObjectType.INDEX: &
& & & & & & & & icon = indexI &
& & & & & & & & &
& & & & } &
& & & & //改变图标 &
& & & & this.setIcon(icon); &
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:树中特定的节点可以由 TreePath(封装节点及其所有祖先的对象)标识,或由其显示行(其中显示区域中的每一行都显示一个节点)标识。展开 节点是一个非叶节点(由返回 false 的 TreeModel.isLeaf(node) 标识),当展开 其所有祖先时,该节点将显示其子节点。折叠 节点是隐藏它们的节点。隐藏 节点是位于折叠祖先下面的节点。所有可查看 节点的父节点都是可以展开的,但是可以显示它们,也可以不显示它们。显示 节点是可查看的并且位于可以看到它的显示区域。&
() &&&&&&&&&&返回带有示例模型的 JTree。
(&?,?&&value)
&&&&&&&&&&返回从 Hashtable 创建的 JTree,它不显示根。
([]&value) &&&&&&&&&&返回
JTree,指定数组的每个元素作为不被显示的新根节点的子节点。
(&newModel)
&&&&&&&&&&返回 JTree 的一个实例,它显示根节点 - 使用指定的数据模型创建树。
&&&&&&&&&&返回 JTree,指定的 TreeNode
作为其根,它显示根节点。
boolean&asksAllowsChildren) &&&&&&&&&&返回 JTree,指定的
TreeNode 作为其根,它用指定的方式显示根节点,并确定节点是否为叶节点。
(&?&&value)
&&&&&&&&&&返回 JTree,指定 Vector 的每个元素作为不被显示的新根节点的子节点。
public JTree(&root)
返回 JTree,指定的 TreeNode 作为其根,它显示根节点。默认情况下,树可以将叶节点定义为不带子节点的任何节点。&下面用构造方法public JTree(&root)创建实例
import javax.swing.JF
import javax.swing.JT
import javax.swing.event.TreeSelectionE
import javax.swing.event.TreeSelectionL
import javax.swing.tree.DefaultMutableTreeN
public class TreeDemo {
public static void main(String[] args) {
// 创建没有父节点和子节点、但允许有子节点的树节点,并使用指定的用户对象对它进行初始化。
// public DefaultMutableTreeNode(Object userObject)
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("软件部");
node1.add(new DefaultMutableTreeNode(new User("小花")));
node1.add(new DefaultMutableTreeNode(new User("小虎")));
node1.add(new DefaultMutableTreeNode(new User("小龙")));
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("销售部");
node2.add(new DefaultMutableTreeNode(new User("小叶")));
node2.add(new DefaultMutableTreeNode(new User("小雯")));
node2.add(new DefaultMutableTreeNode(new User("小夏")));
DefaultMutableTreeNode top = new DefaultMutableTreeNode("职员管理");
top.add(new DefaultMutableTreeNode(new User("总经理")));
top.add(node1);
top.add(node2);
final JTree tree = new JTree(top);
JFrame f = new JFrame("JTreeDemo");
f.add(tree);
f.setSize(300, 300);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 添加选择事件
tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
.getLastSelectedPathComponent();
if (node == null)
Object object = node.getUserObject();
if (node.isLeaf()) {
User user = (User)
System.out.println("你选择了:" + user.toString());
class User {
public User(String n) {
// 重点在toString,节点的显示文本就是toString
public String toString() {
阅读(...) 评论()Jtree添加图标
Jtree添加图标
发布时间: 8:54:32
编辑:www.fx114.net
本篇文章主要介绍了"Jtree添加图标",主要涉及到Jtree添加图标方面的内容,对于Jtree添加图标感兴趣的同学可以参考一下。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.C
import javax.swing.BorderF
import &javax.swing.JT
import &javax.swing.BoxL
import &javax.swing.tree.TreeP
import &javax.swing.tree.DefaultMutableTreeN
import &javax.swing.tree.DefaultTreeM
import javax.swing.tree.*; &
public class ExtendsDefaultTreeCellRenderer & &
& & JFrame jf = new JFrame(&根据节点类型定义图标&); &
& & //定义几个初始节点 &
& & DefaultMutableTreeNode root = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.ROOT , &数据库导航&)); &&
& & DefaultMutableTreeNode salaryDb = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.DATABASE , &公司工资数据库&)); &
& & DefaultMutableTreeNode customerDb = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.DATABASE , &公司客户数据库&)); &
& & //定义salaryDb的两个子节点 &
& & DefaultMutableTreeNode employee = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.TABLE , &员工表&)); &
& & DefaultMutableTreeNode attend = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.TABLE , &考勤表&)); &
& & //定义customerDb的一个子节点 &
& & DefaultMutableTreeNode contact = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.TABLE , &联系方式表&)); &
& & //定义employee的三个子节点 &
& & DefaultMutableTreeNode id = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.INDEX , &员工ID&)); &
& & DefaultMutableTreeNode name = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.COLUMN , &姓名&)); &
& & DefaultMutableTreeNode gender = new DefaultMutableTreeNode( &
& & & & new NodeData(DBObjectType.COLUMN , &性别&)); &
& & public void init()throws Exception &
& & & & //通过add方法建立树节点之间的父子关系 &
& & & & root.add(salaryDb); &
& & & & root.add(customerDb); &
& & & & salaryDb.add(employee); &
& & & & salaryDb.add(attend); &
& & & & customerDb.add(contact); &
& & & & employee.add(id); &
& & & & employee.add(name); &
& & & & employee.add(gender); &
& & & & //以根节点创建树 &
& & & & tree = new JTree(root); &
& & & & &&
& & & & //设置该JTree使用自定义的节点绘制器 &
& & & & tree.setCellRenderer(new MyRenderer()); &
& & & & //设置是否显示根节点的“展开/折叠”图标,默认是false &
& & & & tree.setShowsRootHandles(true); &
& & & & //设置节点是否可见,默认是true &
& & & & tree.setRootVisible(true); &
& & & & //设置使用Windows风格外观 &
& & & & UIManager.setLookAndFeel(&com.sun.java.swing.plaf.windows.WindowsLookAndFeel&); &
& & & & //更新JTree的UI外观 &
& & & & SwingUtilities.updateComponentTreeUI(tree); &
& & & & jf.add(new JScrollPane(tree)); &
& & & & jf.pack(); &
& & & & jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); &
& & & & jf.setVisible(true); &
& & public static void main(String[] args) throws Exception &
& & & & new ExtendsDefaultTreeCellRenderer().init(); &
//定义一个NodeData类,用于封装节点数据 &
class NodeData &
& & public int nodeT &
& & public String nodeD &
& & public NodeData(int nodeType , String nodeData) &
& & & & this.nodeType = nodeT &
& & & & this.nodeData = nodeD &
& & public String toString() &
& & & & return nodeD &
//定义一个接口,该接口里包含数据库对象类型的常量 &
interface DBObjectType &
& & int ROOT = 0; &
& & int DATABASE = 1; &
& & int TABLE = 2; &
& & int COLUMN = 3; &
& & int INDEX = 4; &
class MyRenderer extends DefaultTreeCellRenderer &
& & //初始化5个图标 &
& & ImageIcon rootIcon = new ImageIcon(&open.png&); &
& & ImageIcon databaseIcon = new ImageIcon(&open.png&); &
& & ImageIcon tableIcon = new ImageIcon(&open.png&); &
& & ImageIcon columnIcon = new ImageIcon(&open.png&); &
& & ImageIcon indexIcon = new ImageIcon(&open.png&); &
& & public Component getTreeCellRendererComponent(JTree tree, Object value, &
& & & & boolean sel, boolean expanded, &boolean leaf, int row, boolean hasFocus) &
& & & & //执行父类默认的节点绘制操作 &
& & & & super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); &
& & & & DefaultMutableTreeNode node = (DefaultMutableTreeNode) &
& & & & NodeData data = (NodeData)node.getUserObject(); &
& & & & //根据数据节点里的nodeType数据决定节点图标 &
& & & & ImageIcon icon = &
& & & & switch(data.nodeType) &
& & & & { &
& & & & & & case DBObjectType.ROOT: &
& & & & & & & & icon = rootI &
& & & & & & & & &
& & & & & & case DBObjectType.DATABASE: &
& & & & & & & & icon = databaseI &
& & & & & & & & &
& & & & & & case DBObjectType.TABLE: &
& & & & & & & & icon = tableI &
& & & & & & & & &
& & & & & & case DBObjectType.COLUMN: &
& & & & & & & & icon = columnI &
& & & & & & & & &
& & & & & & case DBObjectType.INDEX: &
& & & & & & & & icon = indexI &
& & & & & & & & &
& & & & } &
& & & & //改变图标 &
& & & & this.setIcon(icon); &
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:请教:如何让JTree的节点显示不同的图标?
请教:如何让JTree的节点显示不同的图标?
发布时间: 8:54:32
编辑:www.fx114.net
本篇文章主要介绍了"请教:如何让JTree的节点显示不同的图标?
50nt941]",主要涉及到请教:如何让JTree的节点显示不同的图标?
50nt941]方面的内容,对于请教:如何让JTree的节点显示不同的图标?
50nt941]感兴趣的同学可以参考一下。
我的JTree是根据数据库中的内容生成的,我想实现根据数据库中某个字段的值(布尔型)的不同为对应的树节点设置不同的图标的效果,可不知应怎么做,请高手指教!
严重感谢!提,请高手赐教!DefaultTreeCellRenderer类中的
setLeafIcon(Icon&newIcon)&
setOpenIcon(Icon&newIcon)&
setClosedIcon(Icon&newIcon)&谢谢LoveRose兄的指教!
可是我还是不太明白,我是想根据不同的节点信息给各个节点设置不同的图标,而不是按照是叶子节点或者还是打开或者关闭的节点来设置。
请继续指教!
谢谢。大概看看不明白去找本Swing关于JTree的书看看
public&class&CellTreeCellRenderer&extends&DefaultTreeCellRenderer
public&&Component&getTreeCellRendererComponent(JTree&tree,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Object&value,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&boolean&sel,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&boolean&expanded,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&boolean&leaf,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&int&row,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&boolean&hasFocus)
&&&&&&& try
&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&super.getTreeCellRendererComponent(&tree,&value,&sel,&expanded,&leaf,&row,&hasFocus);
&&&&&&&&&&&&&&&&&&&&//set&the&icon&if&the&node&has
&&&&&&&&&&&&&&&&&&&&&if(value&==&null)&return&
&&&&&&&&&&&&&&&&&&&&DefaultMutableTreeNode&node=(DefaultMutableTreeNode)
&&&&&&&&&&&&&&&&&&&&if(node.isLeaf()&&node.getLevel()==1)
&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&Icon&icon&=&getClosedIcon();
&&&&&&&&&&&&&&&&&&&&&&&&setIcon(icon);
&&&&&&&&&&&&&&&&&&&&&&&&return&
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&Object&objvec=node.getUserObject();
&&&&&&&&&&&&&&&&&&&&Vector&
&&&&&&&&&&&&&&&&&&&&if(objvec&instanceof&Vector)
&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&& vector=(Vector)
&&&&&&&&&&&&&&&&&&&& Object&pobj=vector.get(0);
&&&&&&&&&&&&&&&&&&&& LocationInfo&ploc=(LocationInfo)
&&&&&&&&&&&&&&&&&&&& //System.out.println("cell"+ploc);
&&&&&&&&&&&&&&&&&&&& UiTreeObj&uobj=UiNodeManager.instance().getObject(ploc);
&&&&&&&&&&&&&&&&&&&& Object&obj=UiNodeManager.instance().getEntity(ploc);
&&&&&&&&&&&&&&&&&&&& UiEntityParts&ppobj=(UiEntityParts)
&&&&&&&&&&&&&&&&&&&& //Object&obj=node.getUserObject();
&&&&&&&&&&&&&&&&&&&& if(ppobj.getType().equals(PartsType.PGN_CELL))
&&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&& LocationInfo&loc=&((UiTreeObj)uobj).getLocation();
&&&&&&&&&&&&&&&&&&& & setText(ppobj.getName());
&&&&&&&&&&&&&&&&&&&& if&(vector.size()&1)
&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&& setForeground(Color.red);
&&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&& setIcon(null);
&&&&&&&&&&&&&&&&& }
& &&& &&&&else
& &&& &&&&{
&&&&&&&&&&&&&&&& &&&&return&
&&&&&&&&&&&&&&&&&&&&}
&&&&&&& &&&&}
&&&&&&&& }
&&&&&&&& catch(Exception&e)
&&&&&&&& {
&&&&&&&&&&&&& GUILog.OutputLog(e);
&&&&&&&& }
&&&&&&& return&
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:

我要回帖

更多关于 云付通推荐人收益 的文章

 

随机推荐