我正在制作一个应用程序,该应用程序具有从数据库存根(将成为 Oracle 数据库)返回的多行数据,并且由于某种原因,滚动条在第 500 个元素处停止。我想知道是否有所有元素都显示在滚动条中。
问问题
1032 次
2 回答
2
我在这里假设您使用的是 Windows,因为 Windows 上的滚动条存在一个相当普遍的问题:最大值是一个短整数,32,768。因此,如果 ScrolledComposite 的内部合成的高度大于 32,768 像素,则合成将被剪裁。
我还没有找到解决此问题的可靠方法,但有一种解决方法:将滚动条与您希望滚动的合成分开。您无法创建 ScrollBar,但您可以创建与 ScrollBar 一样宽的 ScrolledComposite,然后将 ScrollListener 附加到它并让它调整滚动组合的布局位置。
某处我有一个片段,但我什至不确定这个诊断是否适用于你的场景。
于 2010-05-21T12:13:11.490 回答
0
您可能需要设置 ScrollBar 的最小值和最大值。您将分别使用 setMinimum() 和 setMaximum() 方法。
设置页面增量也是一个好主意。这是当用户单击拇指和箭头按钮之间的区域或按下 Page Up 或 Page Down 按钮时所选值更改的滚动行数。您将使用 setPageIncrement() 方法。
最后,Oracle 可能会规定您可以从表中检索的最大行数。我相信默认是 500 行。
于 2010-05-17T19:19:29.477 回答