gpt4 book ai didi

java - 单击该行时设置 CheckboxTableViewer 的复选框

转载 作者:行者123 更新时间:2023-12-02 05:23:36 26 4
gpt4 key购买 nike

我对 SWT 非常陌生。实际上今天就开始研究了。我有一个 CheckboxTableViewer 类型的表格。我想要做的是每当用户选择该行(即单击该行的任意位置)时,我希望选中(勾选)该复选框。目前我在 CheckboxTableViewer 上有一个监听器,如下所示:

diagnosesTableViewer.addCheckStateListener(new ICheckStateListener() {

@Override
public void checkStateChanged(CheckStateChangedEvent event) {

Nomenclature changedStateNomenclature = (Nomenclature) event
.getElement();
if (event.getChecked()) {
selectedNomenclatures.add(changedStateNomenclature);
} else {
selectedNomenclatures.remove(changedStateNomenclature);
}
}

});

我可以通过选中复选框来选择该行。但即使用户通过单击任何列上该行的任意位置(而不仅仅是复选框)来选择该行,我也想选择该复选框。

我猜想该逻辑将位于 addSelectionChangedListener 的 addSelectionChangedListener 中的某个位置。但我不知道该怎么做。谁能帮我解决这个问题吗?

最佳答案

使用此代码:将选择监听器添加到表中。 ctvCheckboxTableViewer 的实例。

我还假设 CheckboxTableViewer 只允许单选而不是多选。

ctv.getTable().addSelectionListener(new SelectionAdapter() {

@Override
public void widgetSelected(SelectionEvent e) {
int df = ctv.getTable().getSelectionIndex();
ctv.setChecked(ctv.getElementAt(df), !ctv.getChecked(ctv.getElementAt(df)));
}
});

关于java - 单击该行时设置 CheckboxTableViewer 的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26267230/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com