gpt4 book ai didi

java - 布局父级的父级

转载 作者:行者123 更新时间:2023-11-29 09:02:54 25 4
gpt4 key购买 nike

我们有一个工具,它有一个包含多个 Sections 的 GUI .在这些部分中,我们有 Expandable Composites默认情况下不展开。当我们尝试展开这些组合时,+ 变成了 -,但它保持闭合状态:
Expandable Composite stays closed

为了解决这个问题,我尝试添加一个 ExpansionListener:

ExpandableComposite extendedConfiguration = getToolkit().createExpandableComposite(parent, TREE_NODE);
extendedConfiguration.setLayoutData(new GridData(FILL, CENTER, true, false, 2, 1));
extendedConfiguration.setText("Erweiterte Einstellungen");
extendedConfiguration.setExpanded(false);
extendedConfiguration.addExpansionListener(new ExpansionAdapter() {
@Override
public void expansionStateChanged(ExpansionEvent e) {
parent.getParent().getParent().layout();
}
});

使用这段肮脏的代码,它起作用了,parent 是父级的 Composite。 parent的parent就是Section本身,Section的parent就是我们的view。它不仅看起来很愚蠢,而且当我们想要改变我们的观点时也会有问题,因为 parent 的 parent ......可能不是正确的 parent 。

再次布局 View 的正确方法是什么?如何强制 UI 绘制我们的 ExpandableComposite 的内容?

最佳答案

我认为只要触发调整大小事件就可以解决问题

 parent.getParent().layout(true);
parent.getParent().notifyListeners(SWT.Resize, null);

关于java - 布局父级的父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16355420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com