gpt4 book ai didi

java - 使用 GWT 在 DisclosurePanel 内调整大小布局面板

转载 作者:行者123 更新时间:2023-12-01 05:09:02 24 4
gpt4 key购买 nike

我在 DisclosurePanel 内使用 ResizeLayoutPanel 时遇到问题。

我在 ResizeLayoutPanel 中有一个 Datagrid,在 DisclosurePanel 中有一个 ResizeLayaoutPanel。问题是加载数据时,如果 DisclosurePanel 已关闭,当用户打开disclosurePanel 时,它会发现表为空。如果用户在 DisclosurePanel 打开时执行此操作,则效果很好。

知道如何解决这个问题吗?

这是代码:

ResizeLayoutPanel resizeLayoutPanel = new ResizeLayoutPanel();

resizeLayoutPanel.setWidth("100%");
resizeLayoutPanel.setStyleName("gwt-resizeLayoutPanel-Example");

/****CREATE COLUMNS [BEGIN] ***************************************************************************/
// Create column.
TextColumn<Object> column = new TextColumn<Object>() {
@Override
public String getValue(Object object) {
return "Test";
}
};
/******CREATE COLUMNS [END] ***************************************************************************/


cellTable = new DataGrid<Object>();
cellTable.addColumn(column, "Example");
cellTable.setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.BOUND_TO_SELECTION);
cellTable.setWidth("100%");
cellTable.setEmptyTableWidget(new Label("Example table"));

resizeLayoutPanel.add(cellTable);

//Link dataProvider with CellTable
dataProvider.addDataDisplay(cellTable);

this.container = ModuleContainer.getAdvancedDisclosurePanel("Samples");
this.container.setWidth("100%");
this.container.setContent(resizeLayoutPanel);

return this.container;

最佳答案

ResizeLayoutPanel 提供调整大小(实现 ProvidesResize),但不需要调整大小(不实现 RequiresResize)。

由于 ResizeLayoutPanel 在其普通状态下不监听调整大小,因此您必须故意调整它的大小,或者编写代码来调整它的大小。也许,将宽度和高度设置为 100%。

然后,为什么要将表格放置在 ResizeLayoutPanel 中?

ResizeLayoutPanel 为需要调整大小的小部件提供调整大小功能。您需要扩展单元格表以实现 RequiresResize,以便 ResizeLayoutPanel 能够调整其大小。

任何人在编程 GWT 时需要学习的第一个概念是理解为什么/如何从根调整大小面板创建不间断的 RequiresResize-RequiresResize 链/树。如果调整大小链/树的根不是 RootLayoutPanel,那么您必须故意调整该根的大小。

在本例中,您已将 ResizeLayoutPanel 设为调整大小不存在的调整大小链的根。使用另一个实现 RequiresResize 的面板,以便可以由父级调整其大小 - 并确保父级可以由用户或另一个可调整大小的父级手动调整大小。

请您问问自己,使用 ResizeLayoutPanel 而不提供调整大小的方法并且不将其用作调整大小链的根的原因是什么?

关于java - 使用 GWT 在 DisclosurePanel 内调整大小布局面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12284139/

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