我在我的应用程序中使用Vaadin Framework。我想用Vaadin Link打开一个弹出屏幕。我知道打开popup thrugh按钮但我需要通过Link打开弹出窗口。任何人都可以提供帮助,这是我的代码:
Link link1 = new Link(String.valueOf(rs.getInt(1)), new ExternalResource("#"));
_reportTable.getItem(dashboardDataRowId)
.getItemProperty("todo").setValue(link1);
答案 0 :(得分:2)
正如Book of Vaadin - Components - Link中所解释的,Link只应用于外部资源的超链接,因为它只不过是一个锚html标记的包装器,因此它不会触发任何服务器端事件。因此,您无法在服务器端做出反应来打开弹出窗口或执行其他逻辑。
链接是一个常规的HTML超链接,即一个锚点 由浏览器本机处理的元素。与点击时不同 单击链接的按钮不会在服务器端引起事件。
你真正想要的是vaadin按钮被设计为超链接。您可以通过创建常规按钮(它可以打开服务器端事件并打开弹出窗口)然后添加适当的样式来完成。
Button linkButton = new Button();
linkButton .setStyleName(BaseTheme.BUTTON_LINK);
始终确保调用addStyleName()而不是setStyleName(),因为它只会将新样式添加到已存在的其他样式列表中,并且不会使用您唯一的新样式覆盖该列表。