Некоторые строки в китайской локали усекаются в метке SWT в Eclipse RAP при первом открытии диалога - PullRequest
0 голосов
/ 21 мая 2018

После перезагрузки этот эффект исчезает и метки имеют подходящие размеры.Это повторяется, только если приложение перезагружено.На английском языке это диалоговое окно отображается нормально.Chinese text truncation

Пример кода, содержащего метку проблемы:

private void createDailyGroup(Composite composite)
{
    m_typePanels[DAILY] = new Composite(composite, SWT.NONE);
    Composite panel = m_typePanels[DAILY];
    panel.setLayout(GridLayoutFactory.fillDefaults().numColumns(3).create());
    panel.setLayoutData(GridDataFactory.fillDefaults().create());

    addRunTime(panel, DAILY);
}
 private void addRunTime(Composite panel, int scheduleType)
{
    Label runTimeLabel = new Label(panel, SWT.NONE);
    runTimeLabel.setText(QmfResources.getString(IDS_RUNTIME_LABEL));
    runTimeLabel.setLayoutData(GridDataFactory.fillDefaults().
        align(SWT.BEGINNING, SWT.CENTER).grab(false, false).create());
    m_runTimes.put(Integer.valueOf(scheduleType), new DateTime(panel, SWT.TIME | SWT.BORDER | SWT.SHORT));
    DateTime runTime = m_runTimes.get(Integer.valueOf(scheduleType));
    runTime.addSelectionListener(m_parametersChangeListener);
    runTime.setLayoutData(GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).create());
}

1 Ответ

0 голосов
/ 22 мая 2018

Попробуйте код ниже, здесь я рассматриваю runTimeLabel это метка, где вы хотите добавить строку китайского языка

runTimeLabel.getParent().requestLayout();
runTimeLabel.getParent().redraw();
runTimeLabel.getParent().getParent().update();
...