GWT SuggestBox + ListBox小部件

3
我想创建一个列表框,可以为我提供建议。我需要实现的确切功能是浏览器导航小部件,在其中输入网站地址。要实现的功能如下:当我们点击向下箭头时,我的列表框应该提供以前导航过的URL列表。当我们继续输入内容时,小部件应该为我提供建议。如果您有关于如何实现此小部件的任何建议,那将非常好。谢谢。
2个回答

3

我的SimpleGWT项目的ComboBox小部件应该非常接近你所描述的。然而,我要提醒你,它是几年前编写的,没有跟上最新的GWT版本。此外,它需要对SuggestBox类进行一些更改,以打开我所需的API。考虑到所有这些,它是Apache 2许可的开源软件,因此即使你不能直接使用它,它仍然可以在实现自己的解决方案时对你有所帮助。欢迎在项目网站上提供反馈。


感谢您提供的代码。正如您所说,有一些已弃用的方法,但我可以尝试并理解实现背后的逻辑。但我也在考虑另一种方法。这种方法是使用Absolute Panel、SuggestBox和PushButton。点击PushButton应该显示PopUpPanel,而SuggestBox则使用它。但我无法弄清楚如何访问用于SuggestBox的popUpPanel(API中没有提供getter/setter)。 - Barry
是的。获取建议菜单的访问权限是我提到的“少量更改”的一部分。我试图提交我的API更改,但时机不对,我无法得到提交者足够长的注意力。我没有再尝试的倾向。你可以尝试的另一种方法是在另一个包中简单地复制SuggestBox并根据需要进行修改。这样,您不依赖于核心库的更改,但您也不会获得将来版本中对SuggestBox进行的任何改进。 - Isaac Truett
我尝试了你建议的另一种方法。我将SuggestBox API复制到我的类中,但是该API使用了其他类中的许多私有/受保护方法,因此当我将其复制粘贴到我的包中时出现了问题。所以我认为即使这个选项也被排除了。 - Barry
你有没有查看依赖关系的深度?如果只是几个类,你也可以将它们复制过来。你还可以尝试将你的SuggestBox版本保留在原始包中,以获得对包保护方法的访问权限。 - Isaac Truett

1

这个simple-gwt 可以帮助你,但是你需要自己开发它。

编辑: 要使其可滚动,请检查this


要获取其源代码,您需要svn客户端的url:http://simple-gwt.googlecode.com/svn/trunk/ - Jama A.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接