需要做一个界面 展开显示一棵树的各个节点
比如当鼠标双击某一个节点后 如果该节点不是叶子 那展开显示所有的孩子节点(用一个含有text的正方形代表一个节点 并固定大小50*50 位置坐标根据面板宽度除以总共这层节点个数决定)并以此类推其他展开操作(每层最多有一个节点被同时展开 不考虑同层有多个节点被展开)我遇到的问题是 当有很多个子节点(孩子)的时候 面板大小不够 无法完全显示 正方形相互重叠覆盖
比如有30个孩子节点 但是在一个400*600的面板里面 计算坐标时从0开始依次按照类加20(600/30)的标准 但是因为正方形大小50*50 所以就形成了重叠的现象请问怎么用滚动条解决以上问题呢?我设想的一个状态 不知道可行不可行: “当点击鼠标展开一个有30个孩子节点时 计算得知需要至少1500宽度 然后仅把滚动条控制的局部面板的宽度更新为1500 这样就避免了重叠的问题 然后通过移动滚动条左右滚动浏览”但是我不清楚怎么把滚动条控制的区域大小改变到1500 而不改变面板固定的大小谢谢高手提供具体建议~