【发布时间】:2011-02-19 05:37:12
【问题描述】:
我有一个大型 JTree(许多节点)显示在 JScrollPane 中。我想让最后一个树节点显示在 JScrollPane 的顶部。默认情况下,Swing 似乎不允许这样做,在 JScrollPane 底部显示(完全展开的)JTree,最后一个节点。 JScrollBar 拇指正在触摸其轨道的底部。
我正在使用 JViewport.setViewPosition() 方法将树节点的左上角位置设置为 JViewport 中的左上角位置,但如果这会导致它显示“空白”,它会拒绝这样做在 JTree 的底部。
我尝试通过设置大小(.setViewSize 为其旧值 + .getExtentSize() 的额外高度)来操作 JViewport,但它仍然拒绝让拇指向下移动,即使它现在是 不是在其轨道的底部。我正在事件处理程序 (.addChangeListener) 中调整 JViewport 大小。
【问题讨论】: