如何扩展 GWT

发布于 2024-12-02 01:47:29 字数 364 浏览 1 评论 0原文

我正在尝试扩展 GWT 的 MenuItem,在 GWT 中您只能在那里放置文本,我想要的是将任何小部件(例如按钮)放置在文本附近。所以我开始从 MenuItem 创建一个子类,但我遇到了很多问题。许多属性是私有的,我无法覆盖它们,或者我必须覆盖所有也使用这些属性的函数。而且有很多东西只能在包中可见,所以我的实现必须遵循原始的GWT Widget,使用gwt的包结构。

所以我认为扩展GWT Widget并不是很容易,我知道有一个Composite类可以将不同的Widget打包在一起,但这并不能解决所有问题。我不想使用其他第三个 GWT 库,如 smartGWT 或 GWTExt,它们变化很大,并且与 GWT 非常不同。

所以我的问题是,有什么好的方法来扩展GWT的小部件吗?

I'm trying extend GWT's MenuItem, in GWT you can only place text there, what i want is place any widget like a button near the text. So I start making a sub class from MenuItem and i get many problem. Many properties are private, I cannot override them, or I must override all function which use these properties as well. And there are many stuff are only in package visiable, so my implementation must follow the original GWT Widget, use the gwt's package structure.

So I think it's not quite easy to extend the GWT Widget, I know there is a Composite class which can pack different Widget together, but that cannot solve all problem. And I don't want to use other 3rd GWT libray like smartGWT or GWTExt, they change alot and are very diffrenet from GWT.

So my question is, is there any good way to extend GWT's widgets?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

韵柒 2024-12-09 01:47:29

像这样的东西吗?

    MenuBar menu = new MenuBar();
    Command cmd = new Command() {

        @Override
        public void execute() {
            Window.alert("you clicked me");
        }
    };
    MenuItem item = new MenuItem("click me", cmd);
    item.setHTML("<input type=\"button\" value=\"click\" />What the hell");
    menu.addItem(item);

Something like this?

    MenuBar menu = new MenuBar();
    Command cmd = new Command() {

        @Override
        public void execute() {
            Window.alert("you clicked me");
        }
    };
    MenuItem item = new MenuItem("click me", cmd);
    item.setHTML("<input type=\"button\" value=\"click\" />What the hell");
    menu.addItem(item);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文