当前位置: 首页>>代码示例>>Java>>正文


Java DefaultMutableTreeTableNode类代码示例

本文整理汇总了Java中org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode的典型用法代码示例。如果您正苦于以下问题:Java DefaultMutableTreeTableNode类的具体用法?Java DefaultMutableTreeTableNode怎么用?Java DefaultMutableTreeTableNode使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


DefaultMutableTreeTableNode类属于org.jdesktop.swingx.treetable包,在下文中一共展示了DefaultMutableTreeTableNode类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testExpandAllWithInvisible

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
/**
 * Issue #254-swingx: expandAll doesn't expand if root not shown?
 *
 */
@Test
public void testExpandAllWithInvisible() {
    final DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode();
    final InsertTreeTableModel model = new InsertTreeTableModel(root);
    int childCount = 5;
    for (int i = 0; i < childCount; i++) {
        model.addChild(root);
    }
    final JXTree treeTable = new JXTree(model);
    // sanity...
    assertTrue(treeTable.isRootVisible());
    assertEquals("all children visible", childCount + 1, treeTable.getRowCount());
    treeTable.collapseAll();
    assertEquals(" all children invisible", 1, treeTable.getRowCount());
    treeTable.setRootVisible(false);
    assertEquals("no rows with invisible root", 0, treeTable.getRowCount());
    treeTable.expandAll();
    assertTrue(treeTable.getRowCount() > 0);
    
}
 
开发者ID:RockManJoe64,项目名称:swingx,代码行数:25,代码来源:JXTreeUnitTest.java

示例2: testTableEventOnSetRootNoStructureChange

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
/**
 * Issue #493-swingx: incorrect table events fired.
 * Issue #592-swingx: (no structureChanged table events) is a special
 *   case of the former.
 * 
 * Here: add support to prevent a structureChanged even when setting
 * the root. May be required if the columns are stable and the
 * model lazily loaded. Quick hack would be to add a clientProperty?
 * 
 * @throws InvocationTargetException 
 * @throws InterruptedException 
 */
public void testTableEventOnSetRootNoStructureChange() throws InterruptedException, InvocationTargetException {
    TreeTableModel model = createCustomTreeTableModelFromDefault();
    final JXTreeTable table = new JXTreeTable(model);
    table.setRootVisible(true);
    table.expandAll();
    final TableModelReport report = new TableModelReport();
    table.getModel().addTableModelListener(report);
    ((DefaultTreeTableModel) model).setRoot(new DefaultMutableTreeTableNode("other"));  
    SwingUtilities.invokeAndWait(new Runnable() {
        @Override
        public void run() {
            assertEquals("tableModel must have fired", 1, report.getEventCount());
            assertTrue("event type must be dataChanged " + TableModelReport.printEvent(report.getLastEvent()), 
                    report.isDataChanged(report.getLastEvent()));
        }
    });        
    
}
 
开发者ID:RockManJoe64,项目名称:swingx,代码行数:31,代码来源:JXTreeTableIssues.java

示例3: testDateEditorValueAsDate

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
/**
     * Test Picker's value --> date mapping strategy.
     * @throws ParseException 
     * 
     *
     */
    @Test
    public void testDateEditorValueAsDate() throws ParseException  {
        DatePickerCellEditor editor = new DatePickerCellEditor();
        Date input = new Date();
        assertEquals("the input date must be unchanged", input, editor.getValueAsDate(input));
        assertEquals("input as long must be same", input, editor.getValueAsDate(input.getTime()));
        // PENDING: fails on server, moved out off the way into visual check for now
//        String dateString = editor.getFormats()[0].format(input);
//        Date fullCycle = editor.getFormats()[0].parse(dateString);
//        assertEquals("the formatted input date string must be same", fullCycle, editor.getValueAsDate(dateString));
        String nonsenseString = "invalid";
        assertNull("invalid string maps to null", editor.getValueAsDate(nonsenseString));
        assertNull("empty String maps to null", editor.getValueAsDate(""));
        // same with date/string wrapped into TreeNode
        DefaultMutableTreeNode node = new DefaultMutableTreeNode(input);
        assertEquals("date must be user-object", input, editor.getValueAsDate(node));
        // same with date/string wrapped into a TreeTableNode
        DefaultMutableTreeTableNode tableNode = new DefaultMutableTreeTableNode(input);
        assertEquals("date must be user-object", input, editor.getValueAsDate(tableNode));
    }
 
开发者ID:RockManJoe64,项目名称:swingx,代码行数:27,代码来源:DatePickerCellEditorTest.java

示例4: testTableEventOnSetRoot

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
/**
 * Issue #493-swingx: incorrect table events fired.
 * Issue #592-swingx: (no structureChanged table events) is a special
 *   case of the former.
 * 
 * Here: must fire structureChanged on setRoot(otherroot).
 * failed - because the treeStructureChanged is mapped to a 
 * tableDataChanged.
 * 
 * @throws InvocationTargetException 
 * @throws InterruptedException 
 */
@Test
public void testTableEventOnSetRoot() throws InterruptedException, InvocationTargetException {
    TreeTableModel model = createCustomTreeTableModelFromDefault();
    final JXTreeTable table = new JXTreeTable(model);
    table.setRootVisible(true);
    table.expandAll();
    final TableModelReport report = new TableModelReport();
    table.getModel().addTableModelListener(report);
    ((DefaultTreeTableModel) model).setRoot(new DefaultMutableTreeTableNode("other"));  
    SwingUtilities.invokeAndWait(new Runnable() {
        @Override
        public void run() {
            assertEquals("tableModel must have fired", 1, report.getEventCount());
            assertTrue("event type must be structureChanged " + TableModelReport.printEvent(report.getLastEvent()), 
                    report.isStructureChanged(report.getLastEvent()));
        }
    });        
    
}
 
开发者ID:RockManJoe64,项目名称:swingx,代码行数:32,代码来源:JXTreeTableUnitTest.java

示例5: testInsertUnderCollapsedNode

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
/**
 * Issue #247-swingx: update probs with insert node.
 * The insert under a collapsed node fires a dataChanged on the table 
 * which results in the usual total "memory" loss (f.i. selection)
 *
 * The tree model is after setup is (see the bug report as well):
 * root
 *   childA
 *     childB
 *     
 * In the view childA is collapsed:
 * root
 *   childA  
 * @throws InvocationTargetException 
 * @throws InterruptedException 
 * 
 */
@Test
public void testInsertUnderCollapsedNode() throws InterruptedException, InvocationTargetException {
    final DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode();
    final InsertTreeTableModel model = new InsertTreeTableModel(root);
    DefaultMutableTreeTableNode childA = model.addChild(root);
    final DefaultMutableTreeTableNode childB = model.addChild(childA);
    final JXTreeTable treeTable = new JXTreeTable(model);
    treeTable.setRootVisible(true);
    // sanity...
    assertEquals(2, treeTable.getRowCount());
    final int selected = 1;
    // select childA
    treeTable.setRowSelectionInterval(selected, selected);
    model.addChild(childB);
    // need to invoke - the tableEvent is fired delayed as well
    SwingUtilities.invokeAndWait(new Runnable() {
        @Override
        public void run() {
            int selectedAfterInsert = treeTable.getSelectedRow();
            assertEquals(selected, selectedAfterInsert);

        }
    });
}
 
开发者ID:RockManJoe64,项目名称:swingx,代码行数:42,代码来源:JXTreeTableUnitTest.java

示例6: updateModel

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
private synchronized void updateModel() throws NotInitializedException {
	DefaultMutableTreeTableNode root = new InformationTreeTableNode(RepositoryInformationPane.ROOT_LABEL);
	DefaultMutableTreeTableNode node, leaf;
	
	for (PluginInfo plugin:PluginManager.getInstance().getRepositoryInfo()) {
		node = new PluginTreeTableNode(plugin);
		for (DependencyInfo dependency:plugin.getListNeeds()) {
			leaf = new DependencyTreeTableNode(dependency);
			node.add(leaf);
		}
		
		root.add(node);
	}
	
	this.treeTableModel = new PluginInformationTreeTableModel(root);
	this.pluginsTreeTable.setTreeTableModel(this.treeTableModel);
	
	this.pluginsTreeTable.packAll();
	this.repaint();
}
 
开发者ID:sing-group,项目名称:aibench-project,代码行数:21,代码来源:RepositoryInformationPane.java

示例7: getValueAt

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
@Override
public Object getValueAt(Object node, int column) {
	Object value = null;
	if ( node instanceof DefaultMutableTreeTableNode ) {
		DefaultMutableTreeTableNode mutableNode = (DefaultMutableTreeTableNode)node;
		Object o = mutableNode.getUserObject();
		if ( o != null && o instanceof String[] ) {
			String[] array = (String[])o;
			if ( column >= array.length ) {
				return "";
			} else {
				value = array[column];
			}
		}
	}
	return value;
}
 
开发者ID:wangqi,项目名称:gameserver,代码行数:18,代码来源:RedisTreeTableModel.java

示例8: addPathsByNodes

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
public void addPathsByNodes(List selectedNodes) {
    int num = selectedNodes.size();
    TreePath[] tps = new TreePath[num];
    for (int i = 0; i < num; i++) {
        DefaultMutableTreeTableNode node = (DefaultMutableTreeTableNode) selectedNodes.get(i);
        tps[i] = new TreePath(getPathToRoot(node));
    }
    this.addSelectionPaths(tps);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:10,代码来源:CheckTreeSelectionModel.java

示例9: format

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
@Override
    protected void format(CellContext arg0) {
        //  从CellContext获取tree中的文字和图标
        JTree tree = (JTree) arg0.getComponent();
        DefaultMutableTreeTableNode node = (DefaultMutableTreeTableNode) arg0.getValue();
        Object obj = node.getUserObject();
        if(obj instanceof FieldEntity){
            _label.setText(((FieldEntity) obj).getKey());
            _checkBox.setSelector((FieldEntity) obj);
        }else if(obj instanceof ClassEntity){
            _label.setText(((ClassEntity) obj).getClassName());
            _checkBox.setSelector((ClassEntity) obj);
        }

//        _label.setIcon(arg0.getIcon());

        //  根据selectionModel中的状态来绘制TristateCheckBox的外观
        TreePath path = tree.getPathForRow(arg0.getRow());
        if (path != null) {
            if (selectionModel.isPathSelected(path, true)) {
                _checkBox.setState(Boolean.TRUE);
            } else if (selectionModel.isPartiallySelected(path)) {
                _checkBox.setState(null);   //  注意“部分选中”状态的API
            } else {
                _checkBox.setState(Boolean.FALSE);
            }
        }

        //  使用BorderLayout布局,依次放置TristateCheckBox和JLabel
        rendererComponent.setLayout(new BorderLayout());
        rendererComponent.add(_checkBox);
        rendererComponent.add(_label, BorderLayout.LINE_END);
    }
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:34,代码来源:CheckTreeCellProvider.java

示例10: getValueAt

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
/**
 * 返回在单元格中显示的Object
 */
@Override
public Object getValueAt(Object node, int column) {
    Object value = "";
    if (node instanceof DefaultMutableTreeTableNode) {
        DefaultMutableTreeTableNode mutableNode = (DefaultMutableTreeTableNode) node;
        Object o = mutableNode.getUserObject();
        if (o != null && o instanceof CellProvider) {
            CellProvider cellProvider = (CellProvider) o;
            value = cellProvider.getCellTitle(column);

        }
    }
    return value;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:18,代码来源:FiledTreeTableModel.java

示例11: setValueAt

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
@Override
public void setValueAt(Object value, Object node, int column) {
    super.setValueAt(value, node, column);
    if (node instanceof DefaultMutableTreeTableNode) {
        DefaultMutableTreeTableNode mutableNode = (DefaultMutableTreeTableNode) node;
        Object o = mutableNode.getUserObject();
        if (o != null && o instanceof CellProvider) {
            CellProvider cellProvider = (CellProvider) o;

            cellProvider.setValueAt(column,value.toString());
        }
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:14,代码来源:FiledTreeTableModel.java

示例12: createNamedColorTreeTableModel

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
/**
 * 
 * Creates and returns a DefaultTreeModel with a String root and
 * children of type NamedColor wrapped into DefaultMutableTreeNodes.
 * @return a DefaultTreeModel containing items of type NamedColor.
 */
public static TreeTableModel createNamedColorTreeTableModel() {
    final TableModel wrappee = new AncientSwingTeam();
    DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode("Named Colors");
    for (int i = 0; i < wrappee.getRowCount(); i++) {
        MutableTreeTableNode node = createNamedColorTreeTableNode(wrappee,
                i);
        root.add(node);
    }
    return new DefaultTreeTableModel(root, Arrays.asList(new String[] { "Color", "LastName" }));
}
 
开发者ID:RockManJoe64,项目名称:swingx,代码行数:17,代码来源:AncientSwingTeam.java

示例13: interactiveTestInsertUnderCollapsedNode

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
/**
 * Issue #247-swingx: update probs with insert node.
 * The insert under a collapsed node fires a dataChanged on the table 
 * which results in the usual total "memory" loss (f.i. selection)
 * to reproduce: run example, select root's child in both the tree and the 
 * treetable (left and right view), press the insert button, treetable looses 
 * selection, tree doesn't (the latter is the correct behaviour)
 * 
 * couldn't reproduce the reported loss of expansion state. Hmmm..
 *
 */
public void interactiveTestInsertUnderCollapsedNode() {
    final DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode();
    final InsertTreeTableModel model = new InsertTreeTableModel(root);
    DefaultMutableTreeTableNode childA = model.addChild(root);
    final DefaultMutableTreeTableNode childB = model.addChild(childA);
    model.addChild(childB);
    DefaultMutableTreeTableNode secondRootChild = model.addChild(root);
    model.addChild(secondRootChild);
    JXTree tree = new JXTree(model);
    final JXTreeTable treeTable = new JXTreeTable(model);
    treeTable.addHighlighter(
            HighlighterFactory.createSimpleStriping(HighlighterFactory.LINE_PRINTER));

    treeTable.setColumnControlVisible(true);
    treeTable.setRootVisible(true);
    JXFrame frame = wrapWithScrollingInFrame(tree, treeTable, "JXTree vs. JXTreeTable insert node to nested child");
    Action insertAction = new AbstractAction("insert node") {

        @Override
        public void actionPerformed(ActionEvent e) {
            model.addChild(childB);
       
        }
        
    };
    addAction(frame, insertAction);
    addMessage(frame, "insert nested child must not loose selection/expanseion state");
    frame.pack();
    frame.setVisible(true);
}
 
开发者ID:RockManJoe64,项目名称:swingx,代码行数:42,代码来源:JXTreeTableVisualCheck.java

示例14: testEmptyModelInitiallyInvisibleRoot

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
/**
 * loosely related to Issue #248-swingx: setRootVisible (true) after
 * initial rootInvisible didn't show the root.
 * 
 * this here is a sanity test that there is exactly one row, the problem
 * is a missing visual update of the table.
 *
 */
@Test
public void testEmptyModelInitiallyInvisibleRoot() {
    final DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode();
    final InsertTreeTableModel model = new InsertTreeTableModel(root);
    final JXTreeTable treeTable = new JXTreeTable(model);
    // sanity...
    assertFalse(treeTable.isRootVisible());
    assertEquals("no rows with invisible root", 0, treeTable.getRowCount());
    treeTable.setRootVisible(true);
    // sanity...
    assertTrue(treeTable.isRootVisible());
    assertEquals("one row with visible root", 1, treeTable.getRowCount());

}
 
开发者ID:RockManJoe64,项目名称:swingx,代码行数:23,代码来源:JXTreeTableUnitTest.java

示例15: addChild

import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; //导入依赖的package包/类
public DefaultMutableTreeTableNode addChild(DefaultMutableTreeTableNode parent) {
    DefaultMutableTreeTableNode newNode = new DefaultMutableTreeTableNode("Child");
    parent.add(newNode);
    modelSupport.fireChildAdded(new TreePath(getPathToRoot(parent)),
            parent.getIndex(newNode), newNode);

    return newNode;
}
 
开发者ID:RockManJoe64,项目名称:swingx,代码行数:9,代码来源:JXTreeTableUnitTest.java


注:本文中的org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。