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

📄 treetablemodel.java

📁 Javachaxun这是一个成绩查询系统
💻 JAVA
字号:
/*
 * TreeTableModel.java
 *
 * Created on 2007年5月24日, 上午11:39
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package cn.vearn;

import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeNode;
import org.jdesktop.swingx.treetable.DefaultTreeTableModel;

/**
 *
 * @author Administrator
 */
public class TreeTableModel extends DefaultTreeTableModel {
    
    /* ---------------------- 定义标题栏各字段名 ------------------------- */
    
    private static String[] cNames = {"名称", "国文", "数学", "物理", "经济", "英语"};
    
    
    /* ---------------------- class constants ------------------------- */
    
    private static final int NAME = 0;
    
    private static final int CHINESE = 1;
    
    private static final int MATHS = 2;
    
    private static final int PHYSICS = 3;
    
    private static final int ECONOMICS = 4;
    
    private static final int ENGLISH = 5;
    
    /**
     * Creates a new instance of TreeTableModel
     *
     */
    public TreeTableModel(TreeNode node) {
        super(node);
    }
    
    /**
     *
     * @return column count
     */
    public int getColumnCount() {
        return cNames.length;
    }
    
    /**
     * What the TableHeader displays when the Table is in a JScrollPane.
     */
    public String getColumnName(int column) {
        return cNames[column];
    }
    
    /**
     * Returns which object is displayed in this column.
     */
    public Object getValueAt(Object node, int column) {
        Object value = null;
        if (node instanceof DefaultMutableTreeNode) {
            DefaultMutableTreeNode mutableNode = (DefaultMutableTreeNode) node;
            Object o = mutableNode.getUserObject();
            if(o != null && o instanceof NodeEntity) {
                NodeEntity obj = (NodeEntity) o;
                switch(column) {
                    case NAME:
                        value = obj.getNodeName();
                        break;
                    case CHINESE:
                        value = obj.isCourse() ? obj.getChinese() : ""; // 如果不是叶子节点,则不显示各科分数。下同
                        break;
                    case MATHS:
                        value = obj.isCourse() ? obj.getMaths() : "";
                        break;
                    case PHYSICS:
                        value = obj.isCourse() ? obj.getPhysics() : "";
                        break;
                    case ECONOMICS:
                        value = obj.isCourse() ? obj.getEconomics() : "";
                        break;
                    case ENGLISH:
                        value = obj.isCourse() ? obj.getEnglish() : "";
                        break;
                }
            }
        }
        return value;
    }
    
    /**
     * determine whether or not a given column may be edited
     *
     * @param node  the node (i.e. row) for which editing is to be determined
     * @param column  the column for which editing is to be determined
     * @return  true, when editing is allowed for the given node and column, false if not
     */
    public boolean isCellEditable(Object node, int column) {
        return false;
    }
}

⌨️ 快捷键说明

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