SWT MessageDialog
(예 : 처음에는 모든 창 상단에있는 질문)을 만들고 싶습니다.SWT 온 톱 메시지 대화 상자 만들기
첫 아이디어는 Shell
입니다. 스타일이 ON_TOP
인 Shell
을 만들 수 있습니다. 그러나 MessageDialog
메서드를 사용하면 부모 셸을 설정할 수 있습니다. MessageDialog
이 열리는 창의 스타일을 어떻게 설정할 수 있습니까?
SWT MessageDialog
(예 : 처음에는 모든 창 상단에있는 질문)을 만들고 싶습니다.SWT 온 톱 메시지 대화 상자 만들기
첫 아이디어는 Shell
입니다. 스타일이 ON_TOP
인 Shell
을 만들 수 있습니다. 그러나 MessageDialog
메서드를 사용하면 부모 셸을 설정할 수 있습니다. MessageDialog
이 열리는 창의 스타일을 어떻게 설정할 수 있습니까?
당신은 Dialog
클래스를 서브 클래스 화해와 setShellStyle(int newShellStyle)
메서드를 호출해야합니다
public class OnTopDialog extends MessageDialog {
public OnTopDialog(Shell parentShell, String dialogTitle, Image dialogTitleImage, String dialogMessage, int dialogImageType, int defaultIndex, String[] dialogButtonLabels) {
super(parentShell, dialogTitle, dialogTitleImage, dialogMessage, dialogImageType, defaultIndex, dialogButtonLabels);
setShellStyle(SWT.CLOSE | SWT.TITLE | SWT.ON_TOP);
}
}
불행히도 MessageDialog의 open() 메소드가 새로운 MessageDialog 객체를 생성하기 때문에 작동하지 않습니다 따라서 새로운 생성자는 사용되지 않습니다. 게다가 open()은 모든 셸 스타일을 제거하지만 JavaDoc에서 언급 한 두 가지 스타일은 제거합니다. 따라서 모든 것을 다시 구현해야합니다. –
open() 메서드는 새 대화 상자를 만들지 않습니다. static open (...) 메소드를 참조하고 있습니다. 왜 그것을 사용해야하는지 잘 모르겠습니다. – tkotisis
비슷한 편의 메소드가 필요한 경우에도, 다시 구현해야하는 것은 open (...) 메소드뿐입니다. – tkotisis
문제의 몸이 'AWT'포함하고 그것은 또한 [태그 : AWT]로 태그있어 아직 모두'MessageDialog'과'Shell'을 API는 ** [tag : swt] **의 일부입니다. 무엇 이니? 그 질문을 일단 이해하면 [편집]하십시오. –
셸 생성을 시도하고 대화 상자 부모 셸을 설정 했습니까? – tkotisis
@ tkotisis. 나는 그랬다. 결과는 Linux와 Windows의 차이점이었습니다. 특히, 질문 창과 함께 Linux에 빈 창을 열었습니다. –