2015-09-09 2 views
1

Я пытаюсь обернуть этот текст автоматически, но он не обернут. Я пытаюсь с кодом ниже, не уверен, что не так с кодом. ЭтоКак обернуть текст метки swt

protected Control createContents(Composite parent){ 
    Composite composite = new Composite(parent, SWT.WRAP); 
    composite.setLayout(new GridLayout()); 
    composite.setLayoutData(new GridData(SWT.HORIZONTAL, SWT.TOP, false, false)); 

    Group group = new Group(composite, SWT.NONE); 
    group.setText("my group"); 
    group.setLayout(new GridLayout(2, false)); 
    group.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); 
    Button button = new Button(group2,SWT.CHECK); 
    GridData data = new GridData(SWT.HORIZONTAL, SWT.TOP, false, true, 1, 1); 
    button.setLayoutData(data); 

    Label label= new Label(group, SWT.WRAP); 
    data = new GridData(GridData.FILL_HORIZONTAL); 
    label.setLayoutData(data); 
    label.setText("my long text is very long, I need to wrap this very long text lalalalalalalalalalalalalala"); 
} 
+0

Возможный дубликат http://stackoverflow.com/q/11772305/2670892 –

+0

@ greg-449: Он обертывается, когда я устанавливаю подсказку ширины на определенное число, но когда я максимизирую диалог, он заполняет горизонтальную пространство, без SWT.HORIZONTAL он не обертывается. – Juseeth

ответ

3

layoutdata Композиционного также должна иметь grabExcessHorizontal пространства установлено верно, т.е .:

composite.setLayoutData(new GridData(SWT.NONE, SWT.TOP, true, false)); 

Я думаю, что этикетка упаковки и все его родительские композитов должна иметь это.

Кстати, бит стиля SWT.WRAP не имеет смысла для класса Composite.

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