gpt4 book ai didi

GWT - 你可以在 FormPanels 中嵌套 FormPanels 吗?

转载 作者:行者123 更新时间:2023-12-04 05:58:57 24 4
gpt4 key购买 nike

我正在尝试将 FormPanel 嵌套在另一个 FormPanel 中。似乎嵌套面板中的任何字段都不会被渲染。

此屏幕截图由其下方的代码生成:

enter image description here

TabItem tabItem = new TabItem("Tab Item");

FormPanel formPanel = new FormPanel();
formPanel.setHeading("Form Panel");
formPanel.setFrame(true);

TextField textField = new TextField();
textField.setFieldLabel("Text Field");

FormPanel nestedPanel = new FormPanel();
nestedPanel.setHeading("Nested Panel");

TextField nestedField = new TextField();
nestedField.setFieldLabel("Nested Field");

nestedPanel.add(nestedField);

TextField anotherField = new TextField();
anotherField.setFieldLabel("Another Field");

formPanel.add(textField);
formPanel.add(nestedPanel);
formPanel.add(anotherField);

tabItem.add(formPanel);
tabPanel.add(tabItem);

谁能解释为什么嵌套字段没有显示在嵌套面板中?

我也尝试使用 CaptionPanel 而不是 FormPanel 作为嵌套面板,但标题面板不显示字段标签。

任何关于我如何使它工作的建议都将受到欢迎。谢谢 :)

最佳答案

正如杰森所说,<form>不能嵌套。 GXT FormPanel绘制表单作为其工作方式的一部分,因此请考虑以另一种方式绘制此布局。

模仿 FormPanel 的外观,有两个基本步骤。

  • 要获取页眉、边框,请创建 ContentPanel ,并将内容添加到
  • 要获得绘制字段标签的 GXT 2 布局,请使用 FormLayout在内容面板中。

  • 这看起来像这样(从你的例子)
    //...
    ContentPanel nestedPanel = new ContentPanel(new FormLayout();
    nestedPanel.setHeading("Nested Panel");

    TextField nestedField = new TextField();
    nestedField.setFieldLabel("Nested Field");

    nestedPanel.add(nestedField);
    //...

    外部字段仍将管理任何绑定(bind),而嵌套字段看起来就像它们在 FormPanel 中一样。如果不使用 FormPanel 的其他功能,通常将 ContentPanel(或 LayoutContainer,如果您不想要边框/标题)与 FormLayout 一起使用可能更有意义。

    关于GWT - 你可以在 FormPanels 中嵌套 FormPanels 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9165081/

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