Ejemplo n.º 1
0
  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);
  }