SWT Messagebox不会显示在顶部

时间:2014-12-17 10:58:29

标签: java

我做了第一个在覆盆子上运行的java应用程序,而且我在使用messagebox时遇到了困难。 当我按下退出键时,它应该出现询问我是否真的要退出,但不是出现在主框架的顶部,消息框出现在主框架的背面。如果我按下消息框按钮,则会执行正确的操作。这是我写的代码:

private void Mensagem()
{
    Display display = new Display();
    Shell shell = new Shell(display);


    int botoes = SWT.ICON_QUESTION |SWT.YES | SWT.NO;


    MessageBox mensagem = new MessageBox(shell, botoes);
    mensagem.setMessage("Deseja sair?");                
    int botao = mensagem.open();

    //System.out.println(mensagem.getParent());

    switch (botao) 
    {
        case SWT.YES:
          //System.out.println("SWT.YES");
          Runtime.getRuntime().exit(0);
          break;
        case SWT.NO:
          //System.out.println("SWT.NO");
          break;           
    }
    shell.pack();
    display.dispose();
}   

任何人都可以帮助我吗? 提前致谢, 若阿金

1 个答案:

答案 0 :(得分:1)

在构建shell时将SWT.APPLICATION_MODAL添加到标志:

 new Shell(Display, SWT.APPLICATION_MODAL);

失败,可能使用SWT.PRIMARY_MODAL或SWT.SYSTEM_MODAL

编辑:我错了,实际上是SWT.ON_TOP