Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry 调用customFields绘制方法_Blackberry_Java Me_Paint_Custom Fields - Fatal编程技术网

Blackberry 调用customFields绘制方法

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) {

我正在开发一个在屏幕上显示图表的应用程序。我创建了一个自定义字段,它的paint函数用于渲染图表。现在我想知道如何调用此函数,以便显示图表。我在这里附上了一个示例代码,但我看到的只是一个空白的白色屏幕

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()
来自构造器,因为它所在的经理会在需要粉刷时为您打电话