gpt4 book ai didi

java - 如何访问 IContributionItem 的组合框

转载 作者:行者123 更新时间:2023-11-30 07:26:25 24 4
gpt4 key购买 nike

我设法按照下面列出的代码在 IToolBarManager 上添加一个组合框。现在有人知道如何访问在 IContributionItem 内部创建的组合框吗?

亲切的问候,基里亚科斯

IToolBarManager mgr = this.getViewSite().getActionBars().getToolBarManager();
IContributionItem comboCI = new ControlContribution("test") {
protected Control createControl(Composite parent) {

final Combo c = new Combo(parent, SWT.READ_ONLY);
c.add("one");
c.add("two");
c.add("three");
c.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
c.add("four");
}
});
return c;
}
};

mgr.add(comboCI);

最佳答案

将组合变量放入 ControlContribution 类或 IContributionItem 接口(interface)并创建一个 get 方法。

class ControlContribution implements IContributionItem {

protected Combo combo;

public Combo getCombo(){
return combo;
}
}

这样,您就不需要在匿名类中声明它。

IContributionItem comboCI = new ControlContribution("test") {
protected Control createControl(Composite parent) {

combo = new Combo(parent, SWT.READ_ONLY);
combo.add("one");
combo.add("two");
combo.add("three");
combo.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
combo.add("four");
}
});
return combo;
}
};

你可以调用

comboCI.getCombo();

显然,IContributionItem 接口(interface)需要有 getCombo() 方法

关于java - 如何访问 IContributionItem 的组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10337833/

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