Динамический список со списком в таблице Java SWT - PullRequest
3 голосов
/ 09 марта 2009

Я создаю комбинированный элемент управления в org.eclipse.swt.widgets.Table Фрагмент кода ниже

...
TableEditor editor = new TableEditor (table_LLSimDataFileInfo);
CCombo combo = new CCombo (table_LLSimDataFileInfo, SWT.NONE);
combo.setText("CCombo");
combo.add("item 1");
combo.add("item 2");
editor.grabHorizontal = true;
editor.setEditor(combo, items[i], 0);
...

Как я могу динамически изменить список комбинированного списка для выбранной строки в таблице (например, для item1, item2 и т. Д. Изменен на item4, item5, item7 и т. Д. Только для 5-й строки), вызвав какое-то событие. Событие в моем случае - выбор в другом комбинированном окне, список которого не меняется

Ответы [ 2 ]

2 голосов
/ 09 марта 2009

Вы должны установить SelectionListener на вашем другом CCombo, чтобы вызвать обновление для вашего второго CCombo.

Этот класс WavAudioSettingComposite является хорошим примером.

Что-то вроде:

public class ValueChanged extends SelectionAdapter {

    public void widgetSelected(SelectionEvent e) {
        if(e.getSource()==myFirstCCombo){
            // call update on your second CCombo
        }
    }
}

public void updateSecondCCombo(int[] newValues){
    int oldbitrate=getFramerate();
    mySecondCCombo.removeAll();

    for (int i = 0; i < newValues.length; i++) {
        mySecondCCombo.add(""+newValues[i]);
    }
}
0 голосов
/ 09 марта 2009

Документы TableEditor показывают простой пример со слушателем выбора, который идентифицирует текущую выбранную строку.

Вам просто нужно настроить этот пример и динамически заполнить Combo в соответствии с выбранной строкой.

...