Java 设置JOptionPane.showMessageDialog显示前端

Java 设置JOptionPane.showMessageDialog显示前端,java,swing,joptionpane,Java,Swing,Joptionpane,我有一个任务,但它显示在浏览器的后面 public class LoginInterceptor extends AbstractInterceptor { private static final long serialVersionUID = 1L; private static final Logger LOG = Logger.getLogger(LoginInterceptor.class); @Override public String intercept(ActionInvo

我有一个任务,但它显示在浏览器的后面

public class LoginInterceptor extends AbstractInterceptor {

private static final long serialVersionUID = 1L;
private static final Logger LOG = Logger.getLogger(LoginInterceptor.class);

@Override
public String intercept(ActionInvocation invocation) throws Exception {

    Map<String, Object> session = invocation.getInvocationContext().getSession();

    if (session != null && session.get("idUser") != null) {
        LOG.warn("session not expired");
        LOG.info("");
        return invocation.invoke();
    } else {
        LOG.warn("session expired");

        //this`s my joption dialog
        javax.swing.JOptionPane.showMessageDialog(null, "Session Expired");
        return "login";
    }
}
}
公共类LoginInterceptor扩展了AbstractInterceptor{
私有静态最终长serialVersionUID=1L;
私有静态最终记录器LOG=Logger.getLogger(LoginInterceptor.class);
@凌驾
公共字符串截获(ActionInvocation调用)引发异常{
映射会话=invocation.getInvocationContext().getSession();
if(session!=null&&session.get(“idUser”)!=null){
LOG.warn(“会话未过期”);
LOG.info(“”);
返回invocation.invoke();
}否则{
LOG.warn(“会话已过期”);
//这是我的工作对话
showMessageDialog(null,“会话已过期”);
返回“登录”;
}
}
}

有谁知道如何把它带到最前面吗。谢谢你的帮助…

我添加了这个,现在解决了

        JFrame frame = new JFrame();            
        javax.swing.JOptionPane.showMessageDialog(frame,"Session Expired");

我加上这个,现在解决了

        JFrame frame = new JFrame();            
        javax.swing.JOptionPane.showMessageDialog(frame,"Session Expired");

确保指定JOptionPane的父级(而不是使用null)。如果这没有帮助,那么发布一个适当的例子来说明问题。@camickr如何将父类添加到我的JOptionPane?。我想编辑我的问题。@amor将
…showMessageDialog(null,
行更改为
…showMessageDialog(frame,
或您的
JFrame
has@Frakcool现在,在我的JOptionPane中添加Jframe后,问题解决了。感谢您的帮助..heheMake确保指定JOptionPane的父级(而不是使用null)。如果这没有帮助,那么发布一个适当的说明问题。@camickr如何将父类添加到我的JOptionPane?。我将编辑我的问题。@amor将
…showMessageDialog(null,
该行更改为
…showMessageDialog(frame,…
或您的
JFrame
has@Frakcool现在在我的JOptionPane中添加Jframe后解决了。感谢您的帮助..呵呵,您不需要创建新的框架。我假设您已经有一个可见的Jframe,所以使用该框架作为JOptionPane的父级。如果我只使用这个“javax.swing.JOptionPane.showMessageDialog(frame,“会话已过期”);“这给了我一个错误”frame无法解析为变量。是的,您必须在代码中的某个地方创建一个JFrame。我们不知道如何创建JFrame,因此由您来管理对变量的引用。我们不知道在应用程序中如何调用该方法的上下文。您不需要创建新的frame。我假设您已经有一个可见的JFrame,所以请使用该frame作为t的父级如果我只使用这个“javax.swing.JOptionPane.showMessageDialog(框架,“会话已过期”);“this give me a error”框架无法解析为变量是的,在代码的某个地方,您必须创建一个JFrame。我们不知道您是如何做到这一点的,因此由您来管理对变量的引用。我们不知道在您的应用程序中如何调用该方法的上下文。