我做了第一个在覆盆子上运行的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();
}
任何人都可以帮助我吗? 提前致谢, 若阿金
答案 0 :(得分:1)
在构建shell时将SWT.APPLICATION_MODAL添加到标志:
new Shell(Display, SWT.APPLICATION_MODAL);
失败,可能使用SWT.PRIMARY_MODAL或SWT.SYSTEM_MODAL
编辑:我错了,实际上是SWT.ON_TOP