在 Vaadin 中获取组件的准确宽度和高度
在vaadin中,如果我将宽度和高度设置为未定义,那么在使用getHeight()/getWidth()函数时我将得到-1。 如果我使用 sizeful(),我会得到 100%。但是如何获得组件的准确宽度和高度呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以通过调用 javascript 函数并获取回调结果来完成此操作。
了解更多信息 http://demo.vaadin.com/sampler/#foundation/javascript-callback
像这样的东西:
如果你有 HorizontalLayout h
You can do it by call javascript function an get callback result.
Read more in http://demo.vaadin.com/sampler/#foundation/javascript-callback
somthing like this:
If you have HorizontalLayout h
在Vaadin中,布局是由浏览器中的客户端引擎实现的,布局组件的具体大小通常取决于浏览器窗口的大小。 Vaadin 标准组件不会将组件大小发送回服务器。
由于所有代码都在服务器上执行,因此它也无法获取这些值。您需要编写一个特殊的包装组件,以便在每次更改时将其大小发送回服务器。
更新 2013-03-21: 我为 Vaadin 开发了 SizeReporter 插件7 将组件的大小发送回服务器,并在大小发生变化时通知您。
In Vaadin, the layout is realized by the client side engine in the browser and the concrete sizes of layout components usually depend on the size of the browser window. Component sizes are not sent back to the server by the Vaadin standard components.
Since all of your code is executed on the server, it cannot get at those values, either. You would need to program a special wrapper component that sends its size back to the server each time it changes.
Update 2013-03-21: I have developed the SizeReporter add-on for Vaadin 7 which sends back the size of the component to the server and notifies you when the size changes.
也许为时已晚,但我在这里发布此内容只是为了知道:
现在,您可以使用 vaadin 目录中的此附加组件来完成此任务(https://vaadin.com/directory#addon/css-tools)。
这个附加组件只是允许您在给定某个组件的情况下收集有关它的 CSS 信息。
我将把代码示例放在这里(与您在附加页面中找到的相同)
这样您就可以获得所选组件的高度和宽度!
Maybe it's too late, but I post this here just to know:
Now, you could use this Add-On from the vaadin directory to accomplish that (https://vaadin.com/directory#addon/css-tools).
This Add-On simply allows you, given a certain component, to geather CSS info about it.
I'll put the code example here (that is the same you find in the Add-On page)
In this way you get just Height and Width of the selected component!