0
나는 텍스트 및 콤보 위젯을 가지고 내가 콤보에 대한 선택 리스너를 가지고 :콤보 선택을 기반으로 SWT 텍스트를 활성화/비활성화
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);
}
}
});
}
}
그러나 선택 리스너 내부 전에서 널 포인터 예외가 " text.setEnabled (this); " 텍스트와 cobmo가 내 클래스 필드입니다.
이감사
'combo'와'text'가 final로 선언되지 않으면 위의 코드를 컴파일 할 수있는 방법이 없습니다. 선언하면 NPE를 얻을 수있는 방법이 없습니다. 코드의 작업 복사본 조각을 제공하거나 stacktrace – Niranjan
에서 발췌 한 내용은 최종적이지 않습니다.이 코드는 제 수업 자료입니다. 클래스 MyCode { 비공개 콤보 콤보; 비공개 텍스트 텍스트; – kk331317
그래, 지금도 똑같은 일을했지만,이 코드는 org.eclipse.jface.dialogs.Dialog 클래스의 "createDialogArea"메소드를 오버라이드 한 내부에 가지고 있으므로 일단 대화 상자가로드되면 텍스트와 콤보가 인스턴스화됩니다. 콤보를 클릭하고 리스너가 호출 될 때 콤보를 선택합니다. 나는 아직도 당신의 아이디어를 얻지 못한다. – kk331317