gpt4 book ai didi

gwt - Ext-GWT/GXT(并非如此)简单的布局问题?

转载 作者:行者123 更新时间:2023-12-01 07:31:40 26 4
gpt4 key购买 nike

我已经在 Ext-GWT 论坛上发布了这个问题,我只是希望这里有人可以为我解答!

我正在努力做一些我最初认为很简单的事情,但我开始相信这是不可能的......

我有一个各种各样的“布局模板”——简单地由几个 GWT DockLayoutPanel 组成,最后以 LayoutPanels 结尾。 GWT 的 LayoutPanel 旨在将添加到它的小部件(或复合)调整到其完整大小,并且与纯 GWT 小部件完美结合。

我的“布局模板”的想法是我不知道内部 LayoutPanel 的确切高度和宽度,因为在实例化此模板时我可能会以不同的方式设置某些面板大小(外部 DockLayoutPanels)。我想要的只是将一个 Grid 组件添加到最里面的 LayoutPanels 之一,并使其自身大小(高度和宽度)适合普通 GWT 小部件所做的工作(例如与 GWT 标签完美配合)。

我对 GXT 非常陌生(因为我今天早些时候开始使用它)并且我确实意识到 GXT 构建其组件的方式与 GWT 在 DOM 上构建其小部件的方式不同。

有没有办法达到预期的结果?我试过将网格添加到具有 FitLayout 布局的 ContentPanel,我试过 AnchorLayout,我试过直接添加网格......似乎没有任何效果......任何建议甚至朝着正确方向的插入都会非常有用赞赏!

提前致谢!

山德尔

最佳答案

只是对这篇文章和我所采取的方向的说明。当我开始我的 GWT 项目并且我正在学习基础知识并阅读其他帖子、关注点和建议时,我最初忽略的一点建议非常简单 - 当使用 GWT 框架时,仅使用纯 100% GWT 组件。

我最初忽略了其他开发人员的这些公平警告,因为在开源工具和开源项目的时代,人们形成了这样一种思维模式:“与其构建一个可以给我某些功能的工具,不如让我看看其他人是否有已经做到了”。这种思维方式加快了开发速度,并且几乎标准化了项目和实现方法。

然而,在过去的两个月里,我发现在使用 GWT 时最好不要遵循这个原则。也许是因为它不像其他框架那样广泛传播,或者需要一种非常确定的编码风格,但我对(简单、可排序、JSON 可加载)网格组件和(验证、整洁样式)表单组件的搜索一直没有差点做噩梦。

这不是因为它们不存在。他们是这样。我尝试了 ext-gwt、gwt-ext、gwt-mosaic 和 gwt-incubator。这是因为许多组件脱离了 GWT 提供的非常简单的布局基础(换句话说,放置小部件的面板大多需要是随工具提供的面板)。这反过来又使混合组件并获得所需的结果几乎不可能。这反过来又脱离了让我找到一个有用的组件的心态。

只是一个有趣的最后一点,我认为可能值得一提。因此,由于我对上述观点的认识,我开始编写自己的网格和表单组件。我已经完成并且对我来说工作正常(显然,因为我写了它们,我不怀疑它们对其他人有用)。但是在编写网格组件的过程中,并且需要在父面板中绘制后自动调整列的大小和间距,我发现面板最终宽度的知识直到最终绘制才知道(这毕竟发生了很长时间您的代码执行)。因此具有讽刺意味的是,我开始构建一组相互通信的面板,从父面板(最终需要了解其大小)一直到最内部的面板,这样当我的网格组件最终被绘制时,我可以触发一个名为 onSizeKnown(int width, int height) 的方法并执行任何需要的大小调整。

做完这一切后,我只能笑。因为我突然明白了为什么所有其他 GWT 组件都需要自己的面板。我本质上必须做同样的事情才能得到我需要的工作。

简而言之,如果您像我以前一样是 GWT 开发新手,并且正在(是?)寻找很酷的东西来让您的项目看起来很棒 - 这是我的建议 - 如果您打算使用外部框架,例如上面提到 - 仅使用该框架。不要将其组件与其他框架混合使用。学会喜欢这个框架,并使用他们的面板和设计方法自下而上地构建您的项目。如果这让您感到害怕并让您感到紧张和受限,那么请按照我的方式使用纯 Vanilla GWT 组件编写您自己的组件。从长远来看,遵循此建议可为您节省大量时间。

山德尔

关于gwt - Ext-GWT/GXT(并非如此)简单的布局问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2785622/

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