我想更改其中一个的值ComboFieldEditor
取决于另一个ComboFieldEditor
在 Eclipse 插件中。例如。如果用户更改package
,需要在第二个中填充不同的类ComboFieldEditor
. The ComboFieldEditor
类似乎没有办法动态更改项目。
我创建了一个 SmartComboFieldEditor 类,使我能够使用幕后的支持数据存储来优雅地获取和设置 ComboFieldEditor 的值。
package wat.core.plugin;
import org.eclipse.jface.preference.ComboFieldEditor;
import org.eclipse.swt.widgets.Composite;
public class SmartComboFieldEditor extends ComboFieldEditor {
public SmartComboFieldEditor(String name, String labelText, String[][] entryNamesAndValues, Composite parent) {
super(name, labelText, entryNamesAndValues, parent);
}
public String getSelectedValue()
{
doStore();
return getPreferenceStore().getString(getPreferenceName());
}
public void setSelectedValue(String newValue)
{
getPreferenceStore().setValue(getPreferenceName(), newValue);
doLoad();
}
}
然后您可以重写 propertyChange 和 PerformOK 方法,如下所示:
public void propertyChange(PropertyChangeEvent event) {
super.propertyChange(event);
if (event.getSource() == combo1)
{
if (combo1.getSelectedValue().equals("Some Value"))
{
combo2.setSelectedValue("Some Other Value");
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)