【问题标题】:Dynamic combo-box list in java swt tablejava swt表中的动态组合框列表
【发布时间】:2010-10-12 04:27:56
【问题描述】:

我在 org.eclipse.swt.widgets.Table 中创建了一个组合框控件 下面是代码sn-p

...
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);
...

如何通过触发某些事件来动态更改表格中选定行的组合框列表(例如,仅第 5 行的 item1、item2 等更改为 item4、item5、item7 等)。在我的情况下,事件是在另一个列表不变的组合框中进行选择

【问题讨论】:

    标签: java eclipse combobox swt


    【解决方案1】:

    您应该在您的另一个 CCombo 上设置 SelectionListener,以便在您的第二个 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]);
        }
    }
    

    【讨论】:

    • 如果它有帮助,amarnath,你应该接受答案。或者,如果您想等待,看看是否有其他更好的想法出现,至少要投票。我投票支持它,因为它是一个很好的答案,并且可以从“未回答的问题”部分中解决问题。
    • @Sandman:谢谢。我从不看那个“未回答”的部分,所以我没有意识到这一点。但是,我习惯于在回答“新用户”时获得不投票或“接受”状态;)对于临时用户来说,投票或“接受”过程一开始可能并不那么明显。
    【解决方案2】:

    TableEditor 文档显示了一个简单示例,其中包含一个选择侦听器,用于识别当前选定的行。

    您只需要自定义此示例并动态根据所选行填充Combo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      • 2014-11-12
      • 1970-01-01
      • 2020-09-03
      • 2019-11-27
      相关资源
      最近更新 更多