Blackberry 调用customFields绘制方法
我正在开发一个在屏幕上显示图表的应用程序。我创建了一个自定义字段,它的paint函数用于渲染图表。现在我想知道如何调用此函数,以便显示图表。我在这里附上了一个示例代码,但我看到的只是一个空白的白色屏幕Blackberry 调用customFields绘制方法,blackberry,java-me,paint,custom-fields,Blackberry,Java Me,Paint,Custom Fields,我正在开发一个在屏幕上显示图表的应用程序。我创建了一个自定义字段,它的paint函数用于渲染图表。现在我想知道如何调用此函数,以便显示图表。我在这里附上了一个示例代码,但我看到的只是一个空白的白色屏幕 public class Graph extends MainScreen { class MyField extends Field { protected void layout(int w,int h) {
public class Graph extends MainScreen
{
class MyField extends Field
{
protected void layout(int w,int h)
{
setExtent(getWidth(),getHeight());
}
protected void paint(Graphics g)
{
//my graph is drawn here
}
public MyField()
{
paint(getGraphics());
}
}
public Graph()
{
VerticalFieldManager vfm=new VerticalFieldManager();
vfm.add(new MyField());
add(vfm);
}
}
我注意到的一点是,您的
getWidth()
和getHeight()
调用被用来设置范围。在实际完成调用setExtent()
之前,getWidth()
和getHeight()
将返回0。您应该进行自己的计算,以确定字段的宽度和高度,然后为范围设置该值(只要它们小于传递给layout()
的最大宽度和最大高度)。此外,无需调用paint()
来自构造器,因为它所在的经理会在需要粉刷时为您打电话