Java 计算RitchTextField中可能的行数

Java 计算RitchTextField中可能的行数,java,user-interface,blackberry,Java,User Interface,Blackberry,我有一个添加了RitchTextField的屏幕,它应用了自定义字体。我想找到RitchTextField可以保存的避免垂直滚动的总行数 我试图通过获取RichTextField的高度,然后将其除以字体的高度来实现这一点,但问题是使用rtfField.getHeight()总是返回字段的当前高度,而使用screens getHeight()返回屏幕大小,而不考虑其他字段 例如: 使用getHeight()的屏幕大小=360。 字体大小使用:this.rtfField.getFont().getH

我有一个添加了RitchTextField的屏幕,它应用了自定义字体。我想找到RitchTextField可以保存的避免垂直滚动的总行数

我试图通过获取RichTextField的高度,然后将其除以字体的高度来实现这一点,但问题是使用rtfField.getHeight()总是返回字段的当前高度,而使用screens getHeight()返回屏幕大小,而不考虑其他字段

例如:

使用getHeight()的屏幕大小=360。 字体大小使用:this.rtfField.getFont().getHeight()=25 总行数~12


但是,进行手动计数时,屏幕仅显示8行。

不确定这是否是您要查找的内容,但我认为您需要字段的当前高度除以字体高度:

int lines = this.rtfField.getHeight() / this.rtfField.getFont().getHeight();

不确定这是否是您要查找的内容,但我认为您需要字段的当前高度除以字体高度:

int lines = this.rtfField.getHeight() / this.rtfField.getFont().getHeight();

这就是我试图做的,但是rtfField的高度会随着插入到其最大高度的行数而变化,这使得无法确定从一开始要填充多少行。我尝试过使用布局容器maxHeight,但是在本例中返回330,字体高度25,因此得到330/25=13.2。然而,盒子本身似乎在这个高度只能支撑8行。rtfField的高度会改变吗?这听起来不像是应该发生的。不确定这是否有帮助,但您可以将最大尺寸和最小尺寸设置为相同的尺寸,这样可以防止高度发生变化。谢谢,我尝试设置最大高度,但这在每个设备底座上都会有所不同,我还尝试设置容器标志,使其使用最大高度,但是,即使没有任何文本,也默认为字体大小(单行)。这就是我试图做的。然而,Rtfield的高度会随着插入的行数的变化而变化,直到其最大高度,这使得无法确定从一开始要填充多少行。我尝试过使用布局容器maxHeight,但是在本例中返回330,字体高度25,因此得到330/25=13.2。然而,盒子本身似乎在这个高度只能支撑8行。rtfField的高度会改变吗?这听起来不像是应该发生的。不确定这是否有帮助,但您可以将最大尺寸和最小尺寸设置为相同的尺寸,这样可以防止高度发生变化。谢谢,我尝试设置最大高度,但这在每个设备底座上都会有所不同,我还尝试设置容器标志,使其使用最大高度,但即使没有任何文本,也默认为字体大小(单行)。