2010-12-23 88 views
0

我正在嘗試更改BlackBerry BasicEditField的寬度和高度。 但它沒有顯示BasicEditField,因爲我提到。降低BlackBerry BasicEditField的高度和寬度

HorizontalFieldManager HFMreg = 
     new HorizontalFieldManager(
      HorizontalFieldManager.USE_ALL_WIDTH 
     | HorizontalFieldManager.USE_ALL_HEIGHT) { 
     //Override the paint method to draw the background image. 
     public void paint(Graphics graphics) { 
      //Draw the registration background image 
      graphics.drawBitmap(0,0,Display.getWidth(),Display.getHeight(),BMregbg, 0, 0); 
      super.paint(graphics); 
     } 
    }; 

    BEFfirstname = new BasicEditField("","",5,EditField.NO_NEWLINE) { 
     protected void paint(Graphics graphics) { 
      graphics.fillRect(0,0,80,25); 
      graphics.setBackgroundColor(Color.WHITE); 
      graphics.clear(); 
      super.paint(graphics); 
     } 

     protected void layout() { 
      super.layout(getPreferredWidth(),getPreferredHeight()); 
      setExtent(80,25); //width,height 
     } 

     public int getPreferredWidth() { 
      int fieldWidth = 80; //required width 
      return fieldWidth; 
     } 

     public int getPreferredHeight() { 
      int fieldHeight = 25; // required height 
      return fieldHeight; 
     } 
    }; 
    //BEFfirstname.setMargin(200,0,0,60); 

    HFMreg.add(LFfirstname); 
    HFMreg.add(BEFfirstname); 

    add(HFMreg); 
+0

你說「它不是顯示BasicEditField我提」 - 這將是有益的,如果你能包括截圖,或說明什麼輸出錯誤。 '不顯示'非常模糊 – 2010-12-23 15:33:45

回答

0

只是其他全面:

BasicEditField BEFfirstname = new BasicEditField("","",5,EditField.NO_NEWLINE); 
MyManager obj = new MyManger(); 
obj.add(BEFfirstname); 
add(obj); 




class MyManager extends Manager 
    { 
     MyManager() 
     { 
      super(Manager.USE_ALL_WIDTH | Manager.USE_ALL_HEIGHT); 
     } 

     protected void sublayout(int width, int height) 
     { 
      Field f = getField(0); 
       layoutChild(f,80,25); 
       setPositionChild(f, 10, 10);  
     } 
    }