降低BlackBerry BasicEditField的高度和宽度

时间:2010-12-23 13:19:40

标签: blackberry height width

我正在尝试更改BlackBerry BasicEditField的宽度和高度。 但它没有像我提到的那样显示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);

1 个答案:

答案 0 :(得分: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);      
        }
     }