protected void initTree(List<OPCServerConnectConfig> serverConfigs) { CheckBoxTreeNode rootNode = new CheckBoxTreeNode("OPC Server"); for (OPCServerConnectConfig serverConfig : serverConfigs) { CheckBoxTreeNode node1 = new CheckBoxTreeNode( new ServerConfigForModel(serverConfig.getId(), serverConfig.getName())); CheckBoxTreeNode node1_1 = new CheckBoxTreeNode( new ServerConfigForModel(serverConfig.getId(), serverConfig.getGroupName())); node1.add(node1_1); rootNode.add(node1); } DefaultTreeModel treeModel = new DefaultTreeModel(rootNode); jTree1.setModel(treeModel); jTree1.addMouseListener(new CheckBoxTreeNodeSelectionListener()); jTree1.setCellRenderer(new CheckBoxTreeCellRenderer()); }
/** 生成树形结构 */ public void generateTree(List<FileLayoutVariableModel> getTreeList) { JTree tree = new JTree(); CheckBoxTreeNode rootNode = new CheckBoxTreeNode("全选"); for (int i = 0; i < getTreeList.size(); i++) { File file = new File(getTreeList.get(i).getFileName()); CheckBoxTreeNode subTree = new CheckBoxTreeNode(file.getName() + " 路径:" + file.getPath()); List<VariableDataModel> subList = getTreeList.get(i).getVariableList(); for (int j = 0; j < subList.size(); j++) { String temp = subList.get(j).getVariableType(); int tempIndex = temp.lastIndexOf("."); if (tempIndex != -1) { temp = temp.substring(tempIndex + 1, temp.length()); } CheckBoxTreeNode subTreeList = new CheckBoxTreeNode( "类型:" + temp + " 名称:" + subList.get(j).getVariableName()); subTree.add(subTreeList); } rootNode.add(subTree); } DefaultTreeModel treeModel = new DefaultTreeModel(rootNode); tree.addMouseListener(new CheckBoxTreeNodeSelectionListener()); tree.setModel(treeModel); // 展开一棵树 CommonMethod.expandAll(tree, new TreePath(tree.getModel().getRoot()), true); // 用来绘制checkbox tree.setCellRenderer(new CheckBoxTreeCellRenderer()); JScrollPane scroll = new JScrollPane(tree); scroll.setBounds(0, 0, 700, 500); add(scroll); JButton button = new JButton("确定"); button.setBounds(10, 520, 150, 30); button.addActionListener(new ClickListener(treeModel)); add(button); }