使用GWT,我有一个包含在FlowPanel中的PushButton(带有图像),它又包含在DockPanel WEST组件中。该按钮仅响应IE中的点击,但不响应Firefox,Chrome。任何帮助表示赞赏...
代码:
DockPanel dock = new DockPanel();
FlowPanel navigation = new FlowPanel();
PushButton synopsisButton = new PushButton(synopsis);
navigation.add(synopsisButton);
dock.add(navigation,dock.WEST);
RootPanel.get().add(dock);
synopsisButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent e) {
Window.alert("in synopsis click handler");
});
答案 0 :(得分:3)
GWT 2.0布局系统仅适用于“标准” 模式“。这意味着您应该始终放置以下内容 HTML页面顶部的声明:
如上所述,一些现有的GWT面板不起作用 完全按照标准模式的预期。这主要源于 标准和怪癖模式呈现表格的方式之间的差异。
CellPanel(HorizontalPanel,VerticalPanel,DockPanel) - 这些面板 都使用表格单元格作为基本结构单元。虽然他们还在 在标准模式下工作,他们会在一定程度上规划自己的孩子 不同。主要区别在于他们的孩子不会 尊重宽度和高度属性(通常设置孩子的 CellPanels显式为100%宽度和高度)。还有 浏览器为个人分配空间的方式的差异 可能导致意外行为的表行和列 标准模式。
您应该使用DockLayoutPanel代替DockPanel。 VerticalPanel 通常可以用简单的FlowPanel替换(因为块级别 元素自然会垂直叠加)。 http://code.google.com/intl/ru-RU/webtoolkit/doc/latest/DevGuideUiPanels.html#Standards
检查项目中“war”文件夹中的.html文件。它应包含<!doctype html>
。
我测试了你的代码,它适用于所有浏览器。