如何(本机)在Java应用程序中实现OSX Lion的全屏功能?
给出的当前答案采用了一种很好的方法来实现某种全屏功能。我读过Eclipse也许可以使用Lion的“本机”全屏功能。这就是我要问的。
我在Apple的Java发行说明中发现了这一点:
Mac OS X 10.7 Lion全屏支持
Lion上的Java应用程序现在可以按窗口选择“全屏”窗口功能。开发人员可以使用
com.apple.eawt.FullScreenUtilities 类将窗口标记为可以全屏显示,并可以使用
com.apple.eawt.Application.requestToggleFullScreen(Window)
方法以编程方式请求窗口进入和退出全屏模式。该API在Mac OS X 10.6 Snow Leopard上不起作用。
更明确地说,尝试从您的JFrame
s 的构造函数中尽早调用此方法。
/**
* @param window
*/
@SuppressWarnings({"unchecked", "rawtypes"})
public static void enableOSXFullscreen(Window window) {
Preconditions.checkNotNull(window);
try {
Class util = Class.forName("com.apple.eawt.FullScreenUtilities");
Class params[] = new Class[]{Window.class, Boolean.TYPE};
Method method = util.getMethod("setWindowCanFullScreen", params);
method.invoke(util, window, true);
} catch (ClassNotFoundException e1) {
} catch (Exception e) {
log.log(Level.WARNING, "OS X Fullscreen FAIL", e);
}
}
我使用的是使用Java机器人类截屏的标准方法,即: 这在大多数情况下都可以正常工作,但它只是在全屏应用程序中拍摄一个空白屏幕的照片(我使用的是Windows 7,所以大多数应用程序都使用Direct X全屏)。这是机器人类的已知问题还是我做错了什么?
我正试图用java设计一个程序,定期(每100毫秒左右)拍摄我的屏幕截图,并计算整个屏幕的平均像素rgb值。我需要这个来处理视频游戏和iTunes/Quicktime视频。然而,我曾尝试使用JNA和robot来捕获屏幕,它只在我没有捕获全屏或iTunes视频的视频游戏时起作用。例如,我通过保存一个图像来测试代码,以检查并查看发生了什么。当我玩电子游戏时,我只看到一个空白窗口的截图。我认为这是因为游
[For Windows]我知道可以捕获在C#语言下运行的DirectX程序的屏幕,但您知道一些Java示例代码吗? 我实际上面临着同样的问题比这拿全屏应用程序与java内部的屏幕截图?。机器人课没有帮助,也没有效果。 但我在互联网上没有找到任何与此相关的java代码样本。感谢您在这个话题上提供的帮助。
问题内容: 我正在开发应用程序,并且正在使用Swing制作GUI。我希望我的应用程序是全屏的。我可以轻松设置窗口的大小,但是我无法使应用程序真正全屏显示(即带有苹果菜单栏和停靠栏的IE)。我在网上找到的所有答案似乎都不适合我。我是Java的新手,因此不胜感激。 问题答案: Windows和MacOS下的全屏支持对用户的期望不同… 您可以在两者上使用全屏独占模式,但是Mac用户在全屏应用程序方面会有
问题内容: 有没有一种方法可以捕获屏幕,但不会显示应用程序本身。我知道如何最小化框架或使框架不可见,但这必须要做到真正的快速cos,因为它每秒会发生很多次(至少每秒发生一次)。我希望它看起来像Windows Vista / 7中的放大镜。(该应用可以看到自己的背后。) 问题答案: 如果不与相关平台的窗口管理器进行紧密的本机集成,则在Java中这是不可能的。
问题内容: 我是JAVA语言的初学者,正在尝试学习如何创建全屏应用程序。 我正在尝试创建一个简单的应用程序,该应用程序在运行时将显示一个带有蓝色背景的全屏,并在屏幕中央显示一条简单的文本行(起始位置为400x300)。应用程序的分辨率设置为800x600。 我在运行OSX Lion的MacbookAir上运行代码,屏幕分辨率为1440x900。问题是,尽管像我预期的那样获得了蓝色背景,但文本仅出现