2015-04-22 2 views
1

Я пытаюсь добавить 7 Text виджетов в строку GridLayout. Я хочу, чтобы все они были одинаковой ширины, но они выходят фанк:SWT-равные веса для элементов строки GridLayout?

enter image description here

//Columns 
    for(int i=0;i<7;i++) { 
     text = new Text(shell, SWT.BORDER); 
     text.setEditable(true); 
     data = new GridData(SWT.FILL, SWT.TOP,true,false,1,1); 
     text.setLayoutData(data); 
     cols.add(text); 
    } 

Вещи, которые я пробовал:

  • Почти любая комбинация FILL/TOP и true/false для конструктора GridData (я был в отчаянии).
  • Установка data.minimumWidth и data.widthHint (ширина окна)/7.

Однако виджеты всегда в разной степени беспорядочны.

Если кто-нибудь может пожалуйста, помогите мне решить эту проблему, я буду вечно благодарен :-)

ответ

2

Вы указываете это на GridLayout конструктора, второй параметр:

GridLayout layout = new GridLayout(7, true); 

определяет 7 столбцов одинаковой ширины ,

Вы также можете использовать

layout.makeColumnsEqualWidth = true; 
+0

Спасибо! Мне пришлось поместить виджеты в композит с макетом «GridLayout», так что только они будут затронуты равной шириной; но это та же самая идея :-) – LoneDuck

Смежные вопросы