自定义位置(儿童)由坐标

问题描述:

如何放置字段的自定义位置坐标经理,而无需使用Horizo​​ntalFieldManager或VerticalFieldManager经理,并没有使用setMargin():自定义位置(儿童)由坐标

__________________________________ 
|manager T    T  | 
|   | y1   |  | 
|   |    |  | 
|   V    |  | 
| x1 --------------  |y2 | 
| <---> | field 1  | |  | 
|  |______________| |  | 
|       |  | 
|       V  | 
|  x2  ------------ | 
| <----------> | field 2 | | 
|     |____________| | 
|         | 
|         | 
__________________________________ 

我可以使用代码类似于:

public static class MyCustomManager extends Manager { 
     public MyCustomManager() { 
      super(); 
     } 
     public void paint(Graphics g) {/**my painting*/super.paint(g);} 
     protected void sublayout(int width, int height) { 
     super.sublayout(PLOT, AUKST); 

     setPositionChild(??,??)  //Something like this? 
     setPosition(??, ??);  // or this? how? 
     setExtent(??, ??); 
     } 

     } 

非常感谢!

+2

是,黑莓可以通过管理者的子字段列表循环做到这一点。使用setPositionChild(child,x,y)来定位子字段。 – Rupak 2012-01-01 04:31:56

尝试这样:

public Manager getCustomManager() { 
     Manager myCustomManager = new Manager(Manager.NO_HORIZONTAL_SCROLL|Manager.NO_HORIZONTAL_SCROLLBAR|Manager.NO_VERTICAL_SCROLL|Manager.NO_VERTICAL_SCROLLBAR) { 
      protected void sublayout(int width, int height) { 
       //Suppose we have to place two fields in our Manager 
       if (getFieldCount() == 2) { 
        int 
        /** width and height values for the two fields */ 
        w1, h1 , w2, h2 , 
        /** position values for the two fields */ 
        x1=5, y1=5, x2=10, y2=20; 

        // Get the first field added to the manager 
        Field f1 = getField(0); 
        h1 = f1.getHeight(); 
        w1 = f1.getWidth(); 
        // set the available width and height for the first field 
        layoutChild(f1, w1, h1); 
        // Set the position of the first field in the manager 
        setPositionChild(f1, x1, y1); 

        // Get the second field added to the manager 
        Field f2 = getField(1); 
        h2 = f2.getHeight(); 
        w2 = f2.getWidth(); 
        // set the available width and height for the second field 
        layoutChild(f2, w2, h2); 
        // Set the position of the second field in the manager 
        setPositionChild(f2, x2, y2); 

        setExtent(width, height); 
       } else { 
        setExtent(0, 0); 
        // or you can do something else in this case... 
       } 
      }; 
     }; 
     return myCustomManager; 
    } 
+0

请检查这个问题 http://*.com/questions/11011042/tooltip-customisation @HeartBeat – Yatin 2012-06-14 08:24:21