在JTree的节点上使用gif动画图标
来源:互联网 发布:民治it外包 编辑:程序博客网 时间:2024/05/16 15:50
class NodeImageObserver implements ImageObserver {
JTree tree;
DefaultTreeModel model;
Vector nodes = new Vector();
public NodeImageObserver(JTree tree) {
super();
this.tree = tree;
this.model = (DefaultTreeModel) tree.getModel();
}
public void add(DefaultMutableTreeNode node) {
for (int i = 0; i < nodes.size(); ++i) {
DefaultMutableTreeNode temp = (DefaultMutableTreeNode)nodes.get(i);
if (temp.equals(node))
return;
}
nodes.add(node);
}
NodeImageObserver(JTree tree, Vector nodes) {
this.tree = tree;
this.model = (DefaultTreeModel) tree.getModel();
this.nodes = nodes;
}
public boolean imageUpdate(Image img, int flags, int x, int y, int w,
int h) {
if ((flags & (FRAMEBITS | ALLBITS)) != 0) {
for(int i = 0; i < nodes.size(); ++i) {
TreeNode node = (TreeNode) nodes.get(i);
TreePath path = new TreePath(model.getPathToRoot(node));
java.awt.Rectangle rect = tree.getPathBounds(path);
if (rect != null) {
tree.repaint(rect);
}
}
}
return (flags & (ALLBITS | ABORT)) == 0;
}
}
class MyTree extends JTree {
public DefaultTreeModel model;
public MyTree() {
super();
setCellRenderer(new IconRenderer());
model = new DefaultTreeModel(null);
this.setModel(model);
}
class IconRenderer extends DefaultTreeCellRenderer {
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)value;
ImageIcon gificon = new ImageIcon("node.gif");
NodeImageObserver Observer = new NodeImageObserver(tree);
Observer.add(node);
gificon.setImageObserver(Observer);
setIcon(gificon);
return this;
}
}
}
JTree tree;
DefaultTreeModel model;
Vector nodes = new Vector();
public NodeImageObserver(JTree tree) {
super();
this.tree = tree;
this.model = (DefaultTreeModel) tree.getModel();
}
public void add(DefaultMutableTreeNode node) {
for (int i = 0; i < nodes.size(); ++i) {
DefaultMutableTreeNode temp = (DefaultMutableTreeNode)nodes.get(i);
if (temp.equals(node))
return;
}
nodes.add(node);
}
NodeImageObserver(JTree tree, Vector nodes) {
this.tree = tree;
this.model = (DefaultTreeModel) tree.getModel();
this.nodes = nodes;
}
public boolean imageUpdate(Image img, int flags, int x, int y, int w,
int h) {
if ((flags & (FRAMEBITS | ALLBITS)) != 0) {
for(int i = 0; i < nodes.size(); ++i) {
TreeNode node = (TreeNode) nodes.get(i);
TreePath path = new TreePath(model.getPathToRoot(node));
java.awt.Rectangle rect = tree.getPathBounds(path);
if (rect != null) {
tree.repaint(rect);
}
}
}
return (flags & (ALLBITS | ABORT)) == 0;
}
}
class MyTree extends JTree {
public DefaultTreeModel model;
public MyTree() {
super();
setCellRenderer(new IconRenderer());
model = new DefaultTreeModel(null);
this.setModel(model);
}
class IconRenderer extends DefaultTreeCellRenderer {
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)value;
ImageIcon gificon = new ImageIcon("node.gif");
NodeImageObserver Observer = new NodeImageObserver(tree);
Observer.add(node);
gificon.setImageObserver(Observer);
setIcon(gificon);
return this;
}
}
}
- 在JTree的节点上使用gif动画图标
- 改变Jtree节点的图标
- 修改jtree的节点图标
- JTree绘制节点图标的方法
- JTree 不同叶子节点图标
- 将JTree的每个节点设置成不同的图标
- JTree 方法设置树节点的展开图标
- 怎样修改JTree中每级节点前面的图标
- 修改JTree的图标
- java JTree树 叶子节点 不同图标
- jtree根据不同类型节点定制图标
- JTree,将树的每个节点设置成不同的图标
- 非常漂亮的等待状态图标gif动画
- 推荐大家一款在Mac上录制Gif动画的软件
- Android加载Gif动画android-gif-drawable的使用
- Android加载Gif动画android-gif-drawable的使用
- 如何在android上 使用gif图片
- swing中JTree的使用和JTree在netbeans中的用法
- 中学物理教案
- 您的服务器不支持mysql数据库
- 防止U盘病毒的办法
- JTable,仿Outlook界面
- 一些很漂亮的字符图片
- 在JTree的节点上使用gif动画图标
- ASP.NET-2
- 实现线程同步的几种方法
- 杀autorun.inf
- ASP.NET-3
- Java Study web site
- 【vc】【多媒体编程应用】mciSendString的使用
- 面向对象分析与研究
- 请问:java实习生,在实习前应具备哪些基本知识和素质?在公司实习的java实习生,通常公司要他(她)们干些什么活?在此谢谢大家了!