Blackberry 在FieldManager中居中按钮字段

Blackberry 在FieldManager中居中按钮字段,blackberry,blackberry-jde,Blackberry,Blackberry Jde,我想在HorizontalFieldManager中将按钮字段居中我尝试了以下代码: HorizontalFieldManager ButM = new HorizontalFieldManager(Field.FIELD_HCENTER|USE_ALL_WIDTH) { public void paint(Graphics graphics) { graphics.setBackgroundColor(0x00000000)


我想在HorizontalFieldManager中将按钮字段居中
我尝试了以下代码:

   HorizontalFieldManager ButM = new HorizontalFieldManager(Field.FIELD_HCENTER|USE_ALL_WIDTH)
    {
        public void paint(Graphics graphics)
        {
            graphics.setBackgroundColor(0x00000000);
            graphics.clear();
            super.paint(graphics);
        }  
    };
    ButtonField Order = new ButtonField("Tri",Field.FIELD_HCENTER|ButtonField.CONSUME_CLICK);
HorizontalFieldManager ButM = new HorizontalFieldManager(HorizontalFieldManager.FIELD_HCENTER|USE_ALL_WIDTH)
    {
      public void paint(Graphics graphics)
      {
          graphics.setBackgroundColor(0x00000000);
          graphics.clear();
          super.paint(graphics);
      }  
    };
    ButtonField Order = new ButtonField("Tri",DrawStyle.HCENTER|ButtonField.CONSUME_CLICK);
    Order.setMargin(0,0,0,(Display.getWidth()/2)-30);
但是钮扣区域没有居中,我做错什么了吗

编辑:
我使用以下代码解决了这个问题:

   HorizontalFieldManager ButM = new HorizontalFieldManager(Field.FIELD_HCENTER|USE_ALL_WIDTH)
    {
        public void paint(Graphics graphics)
        {
            graphics.setBackgroundColor(0x00000000);
            graphics.clear();
            super.paint(graphics);
        }  
    };
    ButtonField Order = new ButtonField("Tri",Field.FIELD_HCENTER|ButtonField.CONSUME_CLICK);
HorizontalFieldManager ButM = new HorizontalFieldManager(HorizontalFieldManager.FIELD_HCENTER|USE_ALL_WIDTH)
    {
      public void paint(Graphics graphics)
      {
          graphics.setBackgroundColor(0x00000000);
          graphics.clear();
          super.paint(graphics);
      }  
    };
    ButtonField Order = new ButtonField("Tri",DrawStyle.HCENTER|ButtonField.CONSUME_CLICK);
    Order.setMargin(0,0,0,(Display.getWidth()/2)-30);
试试这段代码

HorizontalFieldManager ButM = new HorizontalFieldManager(HorizontalFieldManager.FIELD_HCENTER)
 {
  public void paint(Graphics graphics)
    {
      graphics.setBackgroundColor(0x00000000);
     graphics.clear();
     super.paint(graphics);
  }  
  };
  ButtonField Order = new ButtonField("Tri",DrawStyle.HCENTER|ButtonField.CONSUME_CLICK);
  ButM.add(Order);
试试这个。。希望对你有帮助

HorizontalFieldManager ButM = new HorizontalFieldManager(HorizontalFieldManager.FIELD_HCENTER)
{
  public void paint(Graphics graphics)
  {
      graphics.setBackgroundColor(0x00000000);
      graphics.clear();
      super.paint(graphics);
  }  
};
ButtonField Order = new ButtonField("Tri",DrawStyle.HCENTER|ButtonField.CONSUME_CLICK);
Order.setMargin(0,0,0,(Display.getWidth() - Order.getPreferredWidth())/2 );
ButM.add(Order);
此代码将正常运行。。
我已经测试过了…

我试图删除USE_ALL_WIDTH allready,但当我这样做时,HorizontalFieldManager的背景只有按钮附近是黑色的,屏幕的其余部分保持白色谢谢,我将USE_ALL_WIDTH添加到我的HorizontalFieldManager中,然后修改了setMargin方法使其工作,再次感谢