2013-03-28 2 views
0

팝업 오류 창이 나타납니다. 여러 가지 시도를했지만 작동하지 않았습니다. 내가하고 싶은 일은 원래 창을 유지하면서 튀어 나온 오류 창을 닫는 것입니다. 내 코드에서원래 창을 유지하면서 다른 창을 종료하는 방법

:

지금
final Display display = Display.getDefault(); 
final Shell shell = new Shell(display, SWT.CLOSE | SWT.TITLE | SWT.MIN|SWT.RESIZE); 
shell.addFocusListener(new FocusAdapter() { 
@Override 
public void focusGained(FocusEvent e) { 
} 
}); 
shell.setSize(304, 195); 
shell.setText("Error Occur") 

내가 버튼이 코드와 그의 바인딩이 창을 닫으려고 해요 :

나는 또한 시도
Button OKbutton = new Button(shell, SWT.NONE); 
    OKbutton.addMouseListener(new MouseAdapter() { 
     @Override 
     public void mouseDown(MouseEvent e) { 
      shell.isDisposed(); 
     } 
    }); 
    OKbutton.setBounds(125, 123, 75, 25); 
    OKbutton.setText("OK"); 

, shell.close(); 그러나 그것은 일을 didnt한다. 하지만 내가 display.close() 시도; 그것은 원래 창과 오류 창을 모두 닫습니다.

사실 모두 창 닫기 모두 동일 Shell 사용할 것을 제안한다 : 당신은 당신이 실제로 팝업 대화 상자를 열 코드의 일부를 제공하지 않았기 때문에

답변

0

, 난 단지 문제가 무엇인지 추측 할 수 . 따라서 하나를 닫으면 다른 하나도 닫힙니다.

간단한 해결책은 원래 Shell으로 망가지지 않고 닫을 수있는 팝업 창에 대해 new Shell()을 만드는 것입니다. 그러나


는 SWT와 JFace는 모두 팝업 대화 상자 클래스를 제공합니다. 이것들을 사용하면 삶이 더 쉬워지고 응용 프로그램이 보이게하고 네이티브처럼 행동하게됩니다.

SWT 및 JFace 대화 상자에 대한 유용한 자습서가 here입니다. 이 튜토리얼에서는 미리 정의 된 대화 상자 (예 : 오류 메시지, 파일 선택기 등)를 사용하는 방법과 고유 한 대화 상자를 만드는 방법을 보여줍니다.

관련 문제