|
|
1
17
我们从一开始就在项目中使用GWT ext。这是个坏主意。它们有很多很酷的小部件,但它们不是GWT小部件,并且与GWT小部件不兼容。一旦您选择了GWT Ext,一切,甚至事件机制,都必须以GWT Ext的方式,而不是GWT的方式。此库不会更新为最新版本的GWT,因为javascript库Ext不再免费。我们正在从项目中删除GWT Ext。 不可能在GWT对话框标题中添加不同的小部件,但可以扩展“装饰面板”(它是对话框的父项)。查看DialogBox源代码以了解相关技术,特别是它如何将标题对象添加到面板以及如何实现窗口拖动。 这就是我们在这里所做的,而且效果很好。我们制作了自己的标题类,扩展了FocusablePanel(一个捕获所有鼠标事件的SimplePanel),并在其中添加了一个带有按钮和文本的水平面板。我们必须通过调用super方法来重写onAttach()和onDetach()(它们是受保护的)。 我相信我不允许把我们的源代码放在这里,所以我可以给你这些提示。 |
|
|
2
11
您可以通过向对话框的中央面板添加一个按钮来完成此操作:
|
|
|
3
9
我创建了这个标题类:
然后,扩展DialogBox的类具有以下内容:
|
|
4
5
http://code.google.com/p/gwt-ext/ )。它是免费的,易于使用和集成。 你可以看到他们的展示 http://www.gwt-ext.com/demo/ 当做 |
|
|
5
3
|
|
6
2
不,没有-至少在不摆弄GWT的DialogBox类本身或使用公共小部件重新创建DialogBox的情况下是这样。这是一个已知的问题在GWT,又名 issue 1405 (用星星表示你的兴趣)。
若您想替换DialogBox,可以将类命名为DialogBox并导入它,而不是GWT中包含的类。
注:
这个代码不起作用。ClickEvent未从发送
编辑: 除非您从头开始编写自己的对话框(几乎)或修复问题1405,否则这似乎无法在没有黑客的情况下完成。当然,有许多现有的图书馆已经解决了这个问题,即。 SmartGWT GWT-Ext ,但它们的实现大多是从零开始的。 所以用一句话来回答你的问题:是的,有办法,但你不会喜欢的:) |
|
|
7
2
我想一个简单的答案是实例化一个小部件来替换DialogBox中的标准标题小部件。 然后你可以添加任何你想要的点击事件。
希望对任何人都有帮助。 |
|
|
8
1
http://code.google.com/p/gwt-mosaic/ 他们的崇高目标是,正如他们在网页上提到的:
被困在GXT漩涡中。一点也不喜欢他们如何要求用户为监听器使用完全不同的API等。这对他们来说是有意义的。毕竟,GXT只是它们现有javascript库的一个端口。但是我找这个马赛克项目太久了。。。 |
|
|
9
1
仅使用GWT而不使用外部库,您就可以截获标题元素上的单击事件,并执行命中测试,以查看x、y鼠标坐标是否在锚元素(或用作ClickHandler的其他元素)的范围内。
|
|
|
10
1
我意识到这是荒谬的老,但你可以使用绝对定位与顶部和右侧的0得到一个小部件在右上角。对话框本身是绝对定位的,因此小部件的定位将与之相反。 |
|
|
11
1
|
|
|
12
0
您可以在synthfuljava项目下的google代码中找到可关闭的对话框。 下面的博客解释了必须克服的障碍,以便Caption X按钮能够收听点击事件,使其正常工作: http://h2g2java.blessedgeek.com/2009/07/gwt-useable-closeable-scrollable.html |
|
|
13
0
我认为cavila的ButtonCoption是最好的解决方案,但是在标题的实现中有一个bug。其中一个overidden方法的调用会导致一个无限循环,因为该方法递归地调用自身。 要防止出现这种情况,可以调用InlineLabel上的方法 文本 相反:
|
|
|
14
0
|