Java启动过程仅在后台进行

如何解决Java启动过程仅在后台进行

| 现在,我有一个全屏独占模式的框架,可以控制整个屏幕。面板上有一个按钮,可启动Windows本机计算器程序(仅用于测试目的)。是否有可能使该过程完全在后台启动?现在我有这个:
    this.parent.setAlwaysOnTop(true);
    try {
    Process p = Runtime.getRuntime().exec(\"calc\");
    } catch (IOException e1) {
    ErrorDialog error = new ErrorDialog(\"Error handling your shell action\");
    e1.printStackTrace();
    System.exit(0);
    }
    this.parent.setAlwaysOnTop(false);
这确实可以满足我的需求,但并不能使其美观。它首先“最小化”我的窗口,然后启动calc,然后重新最大化我的窗口。一切都很快发生,但是到处都是东西。是否可以在不触摸主窗口并使它完全无缝的情况下使“ calc”在后台运行?     

解决方法

原则上,至少在X系统上(例如Linux和大多数其他具有GUI的Unix),这是窗口管理器特定的东西。 一些窗口管理器总是在后台,总是在前台启动新程序,甚至要求用户用鼠标绘制窗口区域。其他人尊重计划启动的愿望。 因此,您可以查看正在启动的程序的命令行选项,也许它们具有诸如“最小化启动”之类的选项。 如果您使用的是KDE(和KDE窗口管理器),则可以使用
kstart --onbottom ...
或ѭ2start启动程序,这会将窗口置于堆栈的底部,或最小化启动窗口。 (查看kstart选项,您还想使用
--window
--windowclass
指示窗口。)     ,在Linux上进行测试,也许它不会在那里闪烁。如果没有很多人会在Windows中使用它,则闪烁不是大问题。 我不认为有一种特定于Java的方式来处理此问题,因为您正在启动一个外部进程。如何启动取决于操作系统。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?