首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java把应用放在最前面(OSX)

Java把应用放在最前面(OSX)
EN

Stack Overflow用户
提问于 2013-03-15 14:48:08
回答 1查看 1.3K关注 0票数 3

我已经在互联网上到处寻找这个问题,从堆栈溢出答案到堆栈溢出答案,尝试了rococoa或Class.forName ("com.apple.cocoa.application.NSApplication");等。

问题的底线是,看在上帝的份上,我不能想出如何让我的Java应用程序专注于OSX!

让我说清楚:我的应用程序没有窗口(将来会有,但有时可能根本没有窗口)。我需要一种方法来关注我的应用程序,而不是依赖于windows。

在没有找到任何东西的情况下,我绝望地决定尝试一个依赖于有一个窗口的解决方案:

代码语言:javascript
复制
private static void BringSelfToFocus()
{
    java.awt.EventQueue.invokeLater(new Runnable()
    {
        @Override
        public void run()
        {
            Window window = new JFrame("Test");
            window.toFront();
            window.repaint();
        }
    });
}

然而,就像我的其他所有徒劳的尝试一样,这也失败了。

所以,是的,虽然从技术上讲这是一个重复的问题,但我已经尝试了我能找到的所有其他答案,无论是什么原因,它们都没有奏效。

有人能在这件事上伸出援手吗?谢谢你。

-Georges

EN

回答 1

Stack Overflow用户

发布于 2013-03-15 15:14:39

井!我有一个最终的想法,它成功了!我使用的是Applescript。

代码语言:javascript
复制
private static void BringSelfToFocus()
{
    AppleScript("tell me to activate");
}


private static String AppleScript(String script)
{
    ScriptEngineManager mgr = new ScriptEngineManager();
    ScriptEngine engine = mgr.getEngineByName("AppleScript");

    if (engine != null) {
        try
        {
            return (String)engine.eval(script);
        }
        catch (ScriptException e)
        {
            e.printStackTrace();
        }
    }
    return null;
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15426390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档