本文介绍了调整ScroldComposite中扩展栏SWT的大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!,我正在构建一个java SWT独立应用程序,在滚动组合中有一个展开栏。在某些情况下,我将向其中一个组件添加一个字段。因此,项目的大小将会增加。首先,我销毁扩展栏中的所有当前项目:,然后我将把它们全部再读一遍(我将组合存储在其他地方)。我重新计算每一项的高度:,当我执行所有这些操作时,滚动的组合将不会进一步向下滚动(展开栏的一部分现在位于ScrolledComposite的工作区之外)。,当我调整窗口本身的大小时,所有问题都解决了。那么,我如何才能在没有代码的情况下强制执行此通常与调整窗口大小相关的更新?,提前感谢大家!,//编辑,我已经添加了我所说的类:,},我试着做一个例子,但是这个例子开箱即用。我看不出有什么不同。InputBlock是保存有关复合中所需字段的数据的类,如果调用它们将生成复合。,包含ScrolledComposite的复合体当前处于SashForm状态,我不知道这是否会有什么不同?,我收到此错误(仅在Linux上),但不是在我尝试的示例中:,更新,我把我的问题做了一个更好的例子。此代码正在运行并为我生成相同的错误:,我使用过以下代码:,},我曾尝试在Ubuntu和openSUSE上运行此程序,两者都给出了相同的GTK错误。我希望有人能帮助我!,好的,我找到了解决办法。这并不是真正修复问题的解决方案,而是避免问题的方法。,您的问题似乎是由展开ExpandItem
时出现的延迟引起的。因此,更新minSize的代码使用未展开的大小。在设置minSize之前添加延迟可以解决您的问题。尝试调整延迟值,但300ms似乎工作正常,并不会真正影响可用性:,这篇关于调整ScroldComposite中扩展栏SWT的大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,