0

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

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);
      }
}
4

1 回答 1

2

我注意到的一件事是你的getWidth()getHeight()调用被用来设置范围。直到您真正完成调用setExtent()getWidth()并且getHeight()将返回 0。您应该进行自己的计算以确定您的字段的宽度和高度,然后将其设置为范围(只要它们小于最大宽度和最大值高度被传递给layout(). 此外,没有必要paint()从构造函数调用,因为它所在的 Manager 会在需要绘制时为您调用。

于 2011-07-21T12:58:54.013 回答