1

我在水平字段管理器中创建 3 个按钮,以便它们在屏幕中心水平对齐。

这是在包含 3 个选项卡的选项卡管理器上完成的。实现在窗格的第一个选项卡内。此窗格中保存的所有代码都在垂直字段管理器内。

我已经通过以下链接创建按钮 如何在黑莓的水平字段管理器中为任何设备放置两个按钮?

它建议将垂直字段管理器添加到水平字段管理器。在我的代码中,有另一个垂直字段管理器持有这个水平字段管理器。

这是我的代码:

// setup the tab model with 3 tabs
  final PaneManagerModel model = new PaneManagerModel();
  model.enableLooping( true );

// setup the first tab   
   VerticalFieldManager vfm = new VerticalFieldManager( 
      Field.USE_ALL_HEIGHT | Field.USE_ALL_WIDTH |
      Manager.NO_VERTICAL_SCROLL | Manager.NO_HORIZONTAL_SCROLL );
  LabelField lbl = new LabelField( "Content for tab 1", Field.FOCUSABLE );
  vfm.add( lbl );

//Add one button to the form normal way
 ButtonField gl = new ButtonField(" Group ",ButtonField.FIELD_HCENTER | ButtonField.CONSUME_CLICK);
     // sms.setChangeListener(new FieldChangeListener());
     gl.setChangeListener(new FieldChangeListener() 
      {
            public void fieldChanged(Field field,int context) 
            {
                  model.getView().jumpTo(1,PaneManagerView.DIRECTION_NONE); 
            }
       });
      vfm.add(gl)


//Second button
//SMS send from form
      ButtonField sms = new ButtonField(" Sms ",ButtonField.FIELD_HCENTER | ButtonField.CONSUME_CLICK);
     vfm.add(sms);


//Adding horizontal field manager(MAIN IMPLEMENTATION)
HorizontalFieldManager buttonPanel = new HorizontalFieldManager(Field.FIELD_HCENTER | Field.USE_ALL_WIDTH);
    buttonPanel.add(vfm);//Gives error at this point
   // buttonPanel.add(sms);
    buttonPanel.add(new ButtonField(" Send Mail "));
    add(buttonPanel);


 //Ideal way posted on that link
VerticalFieldManager vfm = new VerticalFieldManager(USE_ALL_WIDTH);
    vfm.add(new ButtonField("button2",Field.FIELD_RIGHT));

    HorizontalFieldManager hfm = new HorizontalFieldManager();
    hfm.add(new ButtonField("button1"));
    hfm.add(vfm);
    add(hfm);

我完全对这里使用的布局管理器感到困惑。请指导。谢谢

4

0 回答 0