为Vaadin中的较大对象设置宽度单位/高度单位

为Vaadin中的较大对象设置宽度单位/高度单位,vaadin,Vaadin,对于一个相当大的对象(),我们分别使用getWidth()和getHeight()获取宽度和高度,并通过getWidthUnit()和getHeightUnit()获取单位。如何设置宽度/高度单位 编辑: 所以,我问这个问题的原因是因为我有一个面板,我正在处理一个函数,可以自动将它滚动到某一行。可滚动界面仅提供像素方面的setScrollTop,因此我希望执行以下操作: panel.setScrollTop(行号/总行数*面板像素高度) 为此,我计划使用SizeReporter插件给我“heig

对于一个相当大的对象(),我们分别使用getWidth()和getHeight()获取宽度和高度,并通过getWidthUnit()和getHeightUnit()获取单位。如何设置宽度/高度单位

编辑: 所以,我问这个问题的原因是因为我有一个面板,我正在处理一个函数,可以自动将它滚动到某一行。可滚动界面仅提供像素方面的setScrollTop,因此我希望执行以下操作:

panel.setScrollTop(行号/总行数*面板像素高度)

为此,我计划使用SizeReporter插件给我“heightOfPanelInPixels”,但我不确定我能保证高度是以像素为单位的。如果不是,我需要一些方法来转换单位


此外,我还询问了设置单位的问题,因为我认为这只是一件通用的事情:比如,如果我可以设置所有大小的单位,以英寸或像素为单位进行报告,那么除了从服务器将所有大小设置为
px
值之外,实际上没有任何方法可以实现您想要做的事情。对于任何其他类型的大小定义,实际大小(以像素为单位)将根据许多只有浏览器跟踪的不同因素而变化。此外,没有任何机制可以在解析实际大小时将其传回服务器

您可能希望尝试此附加组件,使选定组件的大小在服务器上可用:

旧答案如下:

有两种方法可以设置任意方向的大小。它们都会导致完全相同的最终结果——这只是表达相同意图的两种不同方式

以高度为例,有一个
setHeight(String)
方法需要CSS定义,例如
20px
3.5em
。如果要直接从代码设置硬编码大小,则此方法使用起来很方便

另一种方法将大小拆分为数字大小和单独的单位:
setHeight(float,unit)
,例如
setHeight(20,unit.PX)
。如果要使用大小进行计算,例如使用
setHeight(2*getHeight(),getHeightUnit())
将其加倍,则此方法更为实用


设置和获取宽度的方法也完全相同。

除了从服务器将所有大小设置为
px
值之外,实际上没有任何方法可以实现您想要做的事情。对于任何其他类型的大小定义,实际大小(以像素为单位)将根据许多只有浏览器跟踪的不同因素而变化。此外,没有任何机制可以在解析实际大小时将其传回服务器

您可能希望尝试此附加组件,使选定组件的大小在服务器上可用:

旧答案如下:

有两种方法可以设置任意方向的大小。它们都会导致完全相同的最终结果——这只是表达相同意图的两种不同方式

以高度为例,有一个
setHeight(String)
方法需要CSS定义,例如
20px
3.5em
。如果要直接从代码设置硬编码大小,则此方法使用起来很方便

另一种方法将大小拆分为数字大小和单独的单位:
setHeight(float,unit)
,例如
setHeight(20,unit.PX)
。如果要使用大小进行计算,例如使用
setHeight(2*getHeight(),getHeightUnit())
将其加倍,则此方法更为实用


设置和获取宽度的方法也完全相同。

更新了包含更多细节的主帖子更新了包含更多细节的主帖子