SWT创建一个on-top消息对话框

时间:2017-12-14 11:40:08

标签: java swt

我想创建一个SWT MessageDialog,例如,一个问题,它位于所有窗口之上,至少在最初阶段。

我的第一个想法是通过Shell。我看到可以使用样式Shell创建ON_TOP。但是使用MessageDialog方法,我可以设置父shell。如何为MessageDialog打开的窗口设置该样式?

1 个答案:

答案 0 :(得分:0)

您需要继承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);
    }

}