Java SWT滚动复合切断信息。

Java SWT滚动复合切断信息。,java,scroll,swt,composite,Java,Scroll,Swt,Composite,我正在制作一个应用程序,其中有许多行数据从数据库存根(将成为Oracle数据库)返回,出于某种原因,滚动条在大约第500个元素处停止。我想知道是否有任何方法可以在滚动条中显示所有元素 您可能需要设置滚动条的最小值和最大值。您将分别使用setMinimum()和setMaximum()方法 设置页面增量也是一个好主意。这是当用户单击拇指和箭头按钮之间的区域,或按下向上翻页或向下翻页按钮时所选值更改的滚动行数。您可以使用setPageIncrement()方法 最后,Oracle可能会设置您可以从表

我正在制作一个应用程序,其中有许多行数据从数据库存根(将成为Oracle数据库)返回,出于某种原因,滚动条在大约第500个元素处停止。我想知道是否有任何方法可以在滚动条中显示所有元素

您可能需要设置滚动条的最小值和最大值。您将分别使用setMinimum()和setMaximum()方法

设置页面增量也是一个好主意。这是当用户单击拇指和箭头按钮之间的区域,或按下向上翻页或向下翻页按钮时所选值更改的滚动行数。您可以使用setPageIncrement()方法


最后,Oracle可能会设置您可以从表中检索的最大行数。我认为默认值是500行。

我在这里假设您使用的是Windows,因为Windows上的滚动条存在一个相当普遍的问题:最大值是一个短整数,32768。因此,如果Scrolled composite的内部合成的高度大于32768像素,则该合成将被剪裁

我还没有找到一个强大的方法来解决这个问题,但是有一个解决方法:将滚动条从您希望滚动的组合中分离出来。您不能创建滚动条,但可以创建一个与滚动条一样宽的ScrolledComposite,然后在其上附加一个ScrollListener,并让它调整滚动组合的布局位置


在某个地方,我有一个片段,但我甚至不确定这个诊断是否适用于您的场景。

在对它进行了一点研究后,我发现问题更为普遍:复合材料的最大高度是32768。我使用缓冲解决了我自己的问题:在任何给定的时刻,只有一个小的复合显示包含一部分信息。滚动时,缓冲区会相应地更新和显示。(这是一项艰巨的任务,而且对我的数据非常特殊。)