📄 treetablemodel.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 + -