gpt4 book ai didi

java - BlackBerry Field 类扩展不会绘制

转载 作者:行者123 更新时间:2023-11-30 05:12:44 25 4
gpt4 key购买 nike

使用JRE 5.0.0,模拟器设备是8520。

在屏幕上,我使用 FlowFieldManager(Manager.VERTICAL_SCROLL) 并向其中添加字段以显示数据。

当我这样做的时候

this.flowManager = new FlowFieldManager(Manager.VERTICAL_SCROLL);
Field field = new Field()
{
protected void paint(Graphics graphics)
{
graphics.drawTest("Test", 0, 0);
}
protected void layout(int width, int height)
{
this.setExtend(300, 300); // just testing
}
}

this.flowManager.add(field);

屏幕渲染正确,并且屏幕上出现“测试”。

另一方面,如果我尝试将其抽象为具有相同属性的名为 CustomField 的类并将其添加到流管理器中,则渲染将不会发生。调试发现设备进入了Object,进入了layout函数,但没有进入paint函数。

我不明白为什么当我扩展 Field 时没有调用 Paint 函数。 4.5 API 说布局和绘制是我真正需要扩展的唯一功能。 (getPreferredWidth和getPreferredHeight将用于计算屏幕尺寸等)

提前致谢。

最佳答案

如果在绘制时字段位于剪切区域之外,则不会指示它进行绘制。这确实是我认为唯一错误的地方。

因此请确保您没有将此字段滚动到屏幕之外的某个位置。

关于java - BlackBerry Field 类扩展不会绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2823279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com