EditField и Buttonfield на одной строке - PullRequest
0 голосов
/ 21 марта 2012

Я хочу добавить поле редактирования и поле метки в одной строке.сначала поле редактирования, а затем кнопка.Я пробовал много раз, но у меня ничего не вышло. Я добавил горизонтальный менеджер полей, а также использовал таблицы, но ничего из этого не помогло.Проблема в том, что он не показывает поле кнопки, я могу видеть только поле редактирования.enter code here

 public class MyScreen extends MainScreen {
  /**
    * Creates a new MyScreen object
   */
 public MyScreen()
 {        
     // Set the displayed title of the screen       
     setTitle("MyTitle");



     HorizontalFieldManager m= new HorizontalFieldManager(HorizontalFieldManager.FIELD_HCENTER);

     final GridFieldManager   grid  = new GridFieldManager(4,4,0); 

     grid.setColumnPadding(5);
     grid.setRowPadding(5);

     EditField c= new EditField("","",5,EditField.EDITABLE);
  //   m.add(c);
   Border border=BorderFactory.createRoundedBorder(new XYEdges(10,10,10,10),Border.STYLE_SOLID); 




     grid.setBorder(border);
     ButtonField b= new  ButtonField("Select ",ButtonField.CONSUME_CLICK);
     //m.add(b);
     grid.insert(b,1);
     grid.insert(c,0); 
     //add(m);
     add(grid);                          
    } 
 }

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Переопределить getPreferredWidth() как EditField, так и ButtonField, например:

public int getPreferredWidth() {
    return Display.getWidth()/2;
}
0 голосов
/ 21 марта 2012

Переопределите sublayout() и layout() метод вашего EditField & ButtonField, чем установите его ширину Ex: 100 .. теперь добавьте оба этих field в ваш m.add(); .. его работы ..

...