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

📄 componenttreetablemodel.java

📁 java实现浏览器等本地桌面的功能
💻 JAVA
字号:
/* * Created on 20.06.2005 * */package org.jdesktop.demo.swingx.common;import java.awt.Component;import java.awt.Container;import java.awt.Dimension;import java.awt.Point;import java.util.ArrayList;import java.util.Enumeration;import java.util.List;import java.util.Stack;import java.util.Vector;import javax.swing.event.TableModelEvent;import javax.swing.event.TableModelListener;import javax.swing.table.TableModel;import javax.swing.tree.TreeModel;import org.jdesktop.swingx.JXFrame;import org.jdesktop.swingx.treetable.AbstractTreeTableModel;/** * A static snapshot of a container hierarchy. *  * NOTE: does not listen to any property changes of * contained components - cell updates are arbitrary on * repaint only! *  * @author Jeanette Winzenburg */public class ComponentTreeTableModel extends AbstractTreeTableModel {    public ComponentTreeTableModel(Container root) {        super(root);        setRoot(root);    }    public void setRoot(Container root) {        if (root == null) {            root = new JXFrame();        }        this.root = root;        fireTreeStructureChanged(this, new Object[]{ root }, null, null);    }        //  ------------------TreeModel            public Object getChild(Object parent, int index) {        return ((Container) parent).getComponent(index);    }        public int getChildCount(Object parent) {        return parent instanceof Container ? ((Container) parent).getComponentCount() : 0;    }        public int getIndexOfChild(Object parent, Object child) {        Component[] children = ((Container) parent).getComponents();        for (int i = 0; i < children.length; i++) {            if (children[i].equals(child)) {                return i;            }        }        return -1;    }        public boolean isLeaf(Object node) {        return getChildCount(node) == 0;    }     public String convertValueToText(Object node) {        String className = node.getClass().getName();        int lastDot = className.lastIndexOf(".");        String lastElement = className.substring(lastDot + 1);        return lastElement;    }//------------------ TreeTableModel        public Class getColumnClass(int column) {        switch (column) {        case 0:            return hierarchicalColumnClass;        case 1:            return Point.class;        case 2:            return Dimension.class;        default:            return Object.class;        }    }        public int getColumnCount() {        return 3;    }    public String getColumnName(int column) {        switch (column) {        case 0:            return "Type";        case 1:            return "Location";        case 2:            return "Size";        default:            return "Column " + column;        }    }        public Object getValueAt(Object node, int column) {        Component comp = (Component) node;        switch (column) {        case 0:            return comp;        case 1:            return comp.getLocation();        case 2:            return comp.getSize();        default:            return null;        }    }    public void setValueAt(Object value, Object node, int column) {    }    }

⌨️ 快捷键说明

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