我有一个 jFace 向导,我正在使用它来创建一个新的项目类型 eclipse 插件。如下图所示,我在左侧有一个 treeviewer,在右侧有一个 SWT 组。我想要的是当用户从 treeviewer 中选择一个项目时,我应该能够在右侧 SWT Group 上创建动态控件。假设用户选择测试一,在右侧我应该能够在右侧创建一些控件,如标签、文本和几个单选按钮,同样,如果用户选择测试二,我应该能够在右侧创建动态控件。
目前我尝试了以下代码:
tree.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
for (int i = 0; i < selection.length; i++) {
String tempStr = selection[i].toString();
tempStr = tempStr.replaceAll("TreeItem \\{", "");
String finalStr = tempStr.replaceAll("\\}", "");
if (finalStr.equals("Test One")) {
Button btn = new Button(g2, SWT.NONE); //g2 is right side group
btn.setText("Blaaaa");
btn.setVisible(true);
container.redraw();
}
}
但是当我跑步时,我看到右组没有任何变化。谁能指导我做错了什么?任何指针都将不胜感激,因为我是 Eclipse 开发和 SWT 的新手。