【问题标题】:set JOptionPane.showMessageDialog show front设置 JOptionPane.showMessageDialog 显示前面
【发布时间】:2017-01-04 05:30:21
【问题描述】:

我有 Joption,但它显示在浏览器后面

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";
    }
}
}

谁能知道如何把它带到前面。感谢您的帮助...

【问题讨论】:

  • 确保指定 JOptionPane 的父级(而不是使用 null)。如果这没有帮助,请发布一个正确的SSCCE 来证明问题。
  • @camickr 如何将父类添加到我的 JOptionPane ?我会编辑我的问题。
  • @amor 将 ...showMessageDialog(null,... 该行更改为 ...showMessageDialog(frame,... 或您的 JFrame 具有的任何名称
  • @Frakcool 现在在我的 JOptionPane 中添加 Jframe 后解决了。谢谢你的帮助..呵呵

标签: java swing joptionpane


【解决方案1】:

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

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

【讨论】:

  • 您不需要创建新框架。我假设您已经有一个可见的 JFrame,所以使用该框架作为 JOptionPane 的父级。
  • 如果我只使用这个“javax.swing.JOptionPane.showMessageDialog(frame,"Session Expired");”这会给我一个错误“框架无法解析为变量”。
  • 是的,您必须在代码中的某个地方创建一个 JFrame。我们不知道您是如何执行此操作的,因此由您来管理对变量的引用。我们不知道如何在您的应用程序中调用该方法的上下文。
猜你喜欢
  • 2014-10-26
  • 1970-01-01
  • 2015-01-19
  • 1970-01-01
  • 2012-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多