Java 基于组合选择启用/禁用SWT文本
我有一个文本和组合小部件,我有一个组合的选择侦听器:Java 基于组合选择启用/禁用SWT文本,java,eclipse,eclipse-plugin,swt,jface,Java,Eclipse,Eclipse Plugin,Swt,Jface,我有一个文本和组合小部件,我有一个组合的选择侦听器: class MyDialog extends org.eclipse.jface.dialogs.Dialog { private Text text; private Combo combo; public void createDialogArea(Composite parent) { text = new Text(composite, SWT.BORDER); combo = new Combo
class MyDialog extends org.eclipse.jface.dialogs.Dialog
{
private Text text;
private Combo combo;
public void createDialogArea(Composite parent)
{
text = new Text(composite, SWT.BORDER);
combo = new Combo(composite, SWT.NONE);
combo.add("One");
combo.add("Two");
combo.add("Three");
combo.addSelectionListener(new SelectionAdapter()
{
public void widgetSelected(SelectionEvent e)
{
if(combo.getText().equals("One");
{
text.setEnabled(false);
}
}
});
}
}
但在selection listener中,我在“text.setEnabled(this);”处得到一个空指针异常
text和cobmo是我的类字段
请帮我做这个
谢谢您说您在
text.setEnabled(此)处收到一个空指针异常代码>,但语句text.setEnabled(此)代码>不会出现在您发布的代码中。仅,text.setEnabled(false)代码>显示在您发布的代码中。因此,要么错误在别处,要么你的帖子可能需要修改。如果不将combo
和text
声明为最终版本,你就无法编译上述代码,如果你这样声明,那么你就无法获得NPE。请提供代码的工作副本片段或StackTraceThodse的摘录,这些不是最终版本,它们是我的类文件。类MyCode{private Combo Combo;private Text Text;是的,我现在也这么做了,但问题是我在重写的方法“createDialogArea”中有这段代码当我们点击combo并选择一个时,监听器就会被调用。我仍然不明白你的想法。你得到NullPointerException的唯一方法是在代码的其他地方将文本设置为null
。你有什么清晰的方法吗n-up例程调用过早?我有一份您的程序的工作副本,它按照您的期望完美地工作,您的代码中应该有一些错误。