2011-11-27 24 views
1

我想获得我可以绘制对象的屏幕的高度和宽度。这是除了MenuBar(包含命令的页脚)和TitleBar之外的空间。

提示:我知道Display.getInstance().getDisplayHeight()返回屏幕的高度,但这是为完整的场景。那么至少我怎么能知道MenuBar和TitleBar的高度从这个高度减去它们呢?如何在LWUIT中为MenuBar和TitleBar保留高度的屏幕高度?

回答

3

我找到了答案为那些有兴趣谁:

要获得标题栏的高度:Form.getTitleComponent().getPreferredH()
要获取地址栏的高度:Form.getSoftButton(0).getParent().getPreferredH()

所以我的问题的答案是:

Display.getInstance().getDisplayHeight() 
     - form.getTitleComponent().getPreferredH() 
     - (getSoftbuttonCount() < 1) ? 0 : form.getSoftButton(0).getParent().getPreferredH() 
+2

这个答案不太正确。您需要getSoftbuttonCount()并确保它大于1.此外,您需要getTitleArea(),它可能比标题组件本身更大。请参阅Dialog.java中的相关代码。 –

+0

代码更新与您有关** getSoftbuttonCount **的更正,但我找不到方法** getTitleArea **您在** Form **类中提到的?我正在使用LWUIT 1.4,它在更高版本还是我正在寻找错误的类? –

+2

它的1.5版本的一部分,你可以使用1.4的当前代码。 –