@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(); }
@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); } } }