コード例 #1
0
    @Override
    public void mouseClicked(MouseEvent event) {
      JTree tree = (JTree) event.getSource();
      int x = event.getX();
      int y = event.getY();
      int row = tree.getRowForLocation(x, y);
      TreePath path = tree.getPathForRow(row);

      if (path != null) {
        CheckBoxTreeNode node = (CheckBoxTreeNode) path.getLastPathComponent();

        if (node != null) {
          boolean isSelected = !node.isSelected();
          node.setSelected(isSelected);
          ((DefaultTreeModel) tree.getModel()).nodeStructureChanged(node);
        }
      }

      // 查看整棵树的选择项
      for (int i = 0; i < tree.getRowCount(); i++) {
        TreePath treePath = tree.getPathForRow(i);
        CheckBoxTreeNode treeNode = (CheckBoxTreeNode) treePath.getLastPathComponent();

        if (treeNode.getUserObject() instanceof ServerConfigForModel) {
          if (treeNode.isSelected) {
            filter.setServerId(((ServerConfigForModel) treeNode.getUserObject()).getId());
          } else {
            filter.removeServerId(((ServerConfigForModel) treeNode.getUserObject()).getId());
          }
        }
      }
      filterOpcItem();
    }
コード例 #2
0
 @Override
 public void mouseClicked(MouseEvent event) {
   JTree tree = (JTree) event.getSource();
   int x = event.getX();
   int y = event.getY();
   int row = tree.getRowForLocation(x, y);
   TreePath path = tree.getPathForRow(row);
   if (path != null) {
     CheckBoxTreeNode node = (CheckBoxTreeNode) path.getLastPathComponent();
     if (node != null) {
       boolean isSelected = !node.isSelected();
       node.setSelected(isSelected);
       ((DefaultTreeModel) tree.getModel()).nodeStructureChanged(node);
     }
   }
 }