У меня есть проблема, которая появляется при использовании Ubuntu Linux / Gnome, но, похоже, не в Windows (как видно из одного из ответов), что я не могу использовать SWT.RIGHT | SWT.WRAP
вместе, при создании новой метки, чтобы чтобы текст выровнялся по правому краю и можно было оборачивать.
Справочная информация:
Я использую простую 2-колоночную разметку сетки в мастере, чтобы создать динамическое число строк с одной меткой и одним текстовым полем на строку. Я хочу, чтобы надписи были фиксированного размера и чтобы текст внутри них был выровнен по правому краю, например:
label 1: [Text field 1]
Another label: [Text field 2]
Another label
with wrapped [Text field 3]
text:
Сетка создается так:
GridLayout gl = new GridLayout();
gl.numColumns = 2;
composite.setLayout(gl);
и вот как я пытаюсь создать строки (с одной меткой и одним текстовым полем на строку):
for (String labelText : labelTexts) {
Label fieldLabel = new Label(this.composite, SWT.RIGHT | SWT.WRAP | SWT.BORDER );
fieldLabel.setText(labelText);
GridData labelGridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
labelGridData.widthHint = 160;
fieldLabel.setLayoutData(labelGridData);
Text textField = new Text(this.composite, SWT.BORDER);
GridData textGridData = new GridData(GridData.FILL_HORIZONTAL);
textGridData.horizontalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING;
textGridData.widthHint = 248;
textField.setLayoutData(textGridData);
}
Проблема заключается в этой части: SWT.RIGHT | SWT.WRAP
выше, так как не получается использовать их обоих одновременно. Так как же мне обойти это, и выровнять текст по меткам по правому краю и сделать обтекание текстом?