Articles of Java的

在JFrame后面select一个窗口

好吧,给你一些背景知识,当用户在键盘上键入一个按键时,我已经操作了一个JFrame,它是一个全屏透明覆盖层。 目标是我希望用户select任何以前打开的窗口(所以可能是现在使用的Web浏览器),然后进一步操作我的程序。 我有覆盖工作与JIntellitype和Swing的漂亮的扩展状态方法pipe理全局按键全屏幕… ness。 我遇到的问题是,即使看起来像我想要的那样,看起来非常漂亮的覆盖层,因为JFrame已经覆盖了它们,所以无法select任何窗口。 我需要它像ScreenCloud的截图select一样(在他们的video中查看0:19),但用户只需在覆盖/消息出现时单击一个窗口即可。 我正在研究JNA获取窗口大小和其他信息,以便以后在我的应用程序中使用。 我对如何解决这个问题有任何想法。 最糟糕的情况是我会做一些你在CTRL-ALT-TAB窗口切换器上看到的select窗口。 注意 :如果它有帮助,我使用TrayIcon作为我的应用程序的中心,然后调用并创buildJFrames等。

如何在Linux中打开命令terminal?

我想使用Java代码在Linux机器上打开terminal(命令提示符)。 我知道如何在Windows中打开命令提示符。下面的代码我已经在Windows中使用 String command= "cmd c/start cmd.exe" Runtime rt = Runtime.getRuntime(); Process pr = rt.exec(command); 我在Linux中需要同样的东西。 感谢您的回答。 我也想运行一个sh脚本。 以下代码是否工作。 String command= "usr/bin/xterm myshell.sh"; Runtime rt = Runtime.getRuntime(); Process pr = rt.exec(command);

以完全权限以pipe理员身份运行Java文件

我已经做了一个Java应用程序,我testing了我的电脑和我的铸造电脑,迄今为止这么好…但这个应用程序是我的另一个朋友有迪斯科,当我“安装”我的应用程序在他的电脑Windows Vista的32位)它没有工作,然后我去search和search,我发现,作为特权的问题…我安装了一个虚拟机的Vista 32位和XP 32位做一些testing,米无法运行我的应用程序具有完整的pipe理员权限。 有什么办法可以创build一个batch file,或者让我用所有权限运行我的应用程序? 我的意思是所有,因为我需要连接到计算机的COM端口从设备获取一些数据,我需要存储一些文件,因为我使用外部库,我可能需要一些我不知道的特权…我已经尝试过,没有任何工作: elevate "c:\Program Files\Java\jre\bin\java.exe" -jar "%CD%\installer.jar" 使用微软的升级脚本,我也创build了一个batch file runas /user:Administrator myjar.jar 但没有工作:\任何想法? 先谢谢你

从Java执行cmd.exe命令

我试图从用户读取一个文件,其中每行是一个cmd.exe命令,并运行它(可以假设命令是合法的),但是当我给一个像echo hi命令,我得到运行时exception错误: 线程“main”exceptionjava.io.IOException:无法运行程序“echo”:CreateProcess error = 2,系统找不到指定的文件 我试图运行这样的命令: Runtime.getRuntime().exec(command); where command = "echo hi" 。 这对于像regedit这样的命令是有效的,所以看起来我得到的运行时间就像“运行”窗口,而不是cmd。 有没有办法来运行这些命令?

JavaFX:未修饰的窗口

我正在尝试制作Windows PC Toast通知。 现在我正在使用Swing和JavaFX的混合,因为我没有find一种方法来使用FX做一个未装饰的窗口。 我更愿意只使用JavaFX。 那么,我怎样才能做出一个没有修饰的窗口呢? 编辑:我发现你可以直接用new Stage(StageStyle.UNDECORATED)创build一个舞台。 现在我只需要知道如何初始化工具包,这样我就可以在MyApplication调用我的start(Stage stage)方法。 (它extends Application ) 我通常会调用Application.launch(MyApplication.class, null) ,但是这会阻止我创buildToolkit的Stage和初始化。 那么我怎样才能让这些东西直接使用start(new Stage(StageStyle.UNDECORATED))呢?

有没有办法使用Windows下的java.util.Preferences没有它使用registry作为后端?

我想使用java.util.Preferences API,但我不希望我的程序尝试读取或写入Windowsregistry。 我将如何去做这件事?

检测Java应用程序中的Windows注销事件

有没有我可以用Java来监听用户注销和其他Windows事件的库? (如果支持多个平台,则更好!) 我记得几年前就读过一个这样的图书馆,但是现在看起来似乎找不到。 我已经看到其他线程使用Python与win32ts基本上做同样的事情。 如果它是免费的和/或开源的话也更好。 谢谢。 注意 :使用Runtime.getRuntime().addShutdownHook(Thread)的候选解决scheme在javaw中无法正常工作。 我仍然在寻找一个可以和javaw一起工作的解决scheme。 请参阅java bug ID 4486580和4302814 。 谢谢–cam

你如何保持机器清醒?

我有一个用Java编写的服务器软件,可以在Windows和OS X上运行(它不是在服务器上运行,而是在普通用户的PC上运行,就像一个洪stream客户端一样)。我希望软件能够发出信号到操作系统,以保持机器清醒(防止它进入睡眠模式),而它是活跃的。 当然,我不希望有一个跨平台的解决scheme,但我希望有一些非常小的C程序/脚本,我的应用程序可以产生通知操作系统保持清醒。 有任何想法吗?

如何在Windows上使用另一个用户帐户创build新的进程?

是否有可能使用不同的用户帐户在Windows上创build新的进程? 我知道有一个上下文菜单“运行”,但我想从Java做。 我有用户名和密码。

Grails上的同步块在Windows上工作,但在Linux中没有

我有一个grails应用程序依赖于同步块到服务。 当我在Windows上运行它时,同步按预期工作,但是当我在ams linux上运行时,得到一个StaleObjectStateExceptionexception。 在下面的例子中重现了这个问题。 class TestService { private final Object $lock = new Object[0]; TesteSync incrementa() { synchronized ($lock) { TesteSync t = TesteSync.findById(1) t.contador++ t.save(flush: true) Thread.sleep(10000) return t } } } 在我的理解,这种exception发生,因为多个线程正试图保存相同的对象。 这就是为什么我使用同步块。 Linux的Java: java版本“1.7.0_85” OpenJDK运行时环境(amzn-2.6.1.3.61.amzn1-x86_64 u85-b01) OpenJDK 64位服务器虚拟机(内置24.85-b03,混合模式) Windows的Java: java版本“1.7.0_79” Java(TM)SE运行时环境(build 1.7.0_79-b15) Java HotSpot(TM)64位服务器虚拟机(构build24.79-b02,混合模式) 任何线索? 谢谢