Моя метка SWT не меняет текст при выборе нового элемента в выпадающем списке? - PullRequest
0 голосов
/ 11 февраля 2019

В настоящее время я использую абсолютный макет, и у меня есть метка, которая должна меняться при выборе нового элемента в поле со списком. Я заставил его работать с макетом сетки, но это мешает другим функциям, кнопкам и меткам.Я делаю эту работу для меня ... все будет оценено по достоинству ... это часть кода, о которой я говорю:

    Combo comboLevels = new Combo(shellAfterCasual, SWT.NONE);
    comboLevels.setBounds(10, 40, 91, 23);
    String[] item = new String[] { "Swedish 1", "Swedish 2", "Swedish 3" };
    comboLevels.setItems(new String[] {"Swedish 1", "Swedish 2", "Swedish 3"});
    comboLevels.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
             levelStr1 = comboLevels.getItem(comboLevels.getSelectionIndex());
            System.out.println("Selection: " + comboLevels.getItem(comboLevels.getSelectionIndex()));


            Label lblvarLvlLabel = new Label(shellAfterCasual, SWT.NONE);
            lblvarLvlLabel.setFont(SWTResourceManager.getFont("Segoe UI", 12, SWT.BOLD | SWT.ITALIC));
            lblvarLvlLabel.setBackground(SWTResourceManager.getColor(SWT.COLOR_INFO_BACKGROUND));
            lblvarLvlLabel.setBounds(145, 5, 107, 27);
            lblvarLvlLabel.setText(comboLevels.getText());
            lblvarLvlLabel.getParent().layout();
            /*'''''''''''''.............'''''''''''''''''''''''''''''''''''''''''''*/
            System.out.println("XDDD;"+levelStr1);
        }
    });

1 Ответ

0 голосов
/ 11 февраля 2019

Я наконец-то узнал, как это сделать, я инициировал метку вне слушателя действия, чтобы метка всегда была рядом, но это .setText и .updates, когда элемент выбран как таковой:

Label lblvarLvlLabel = new Label(shellAfterCasual, SWT.NONE);
    lblvarLvlLabel.setFont(SWTResourceManager.getFont("Segoe UI", 12, SWT.BOLD | SWT.ITALIC));
    lblvarLvlLabel.setBackground(SWTResourceManager.getColor(SWT.COLOR_INFO_BACKGROUND));
    lblvarLvlLabel.setBounds(145, 5, 107, 27);


    Combo comboLevels = new Combo(shellAfterCasual, SWT.NONE);
    comboLevels.setBounds(10, 40, 91, 23);
    String[] item = new String[] { "Swedish 1", "Swedish 2", "Swedish 3" };
    comboLevels.setItems(new String[] {"Swedish 1", "Swedish 2", "Swedish 3"});
    comboLevels.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
             levelStr1 = comboLevels.getItem(comboLevels.getSelectionIndex());
            System.out.println("Selection: " + comboLevels.getItem(comboLevels.getSelectionIndex()));
            lblvarLvlLabel.setText(comboLevels.getText());
            lblvarLvlLabel.getParent().layout();
            lblvarLvlLabel.redraw();
            lblvarLvlLabel.update();
        }
    });
...