Tag: 全屏

FullScreen Swing组件无法在Mac OS X Mountain Lion上的Java 7上接收键盘输入

更新12/21: 7u10最近发布。 确认: 问题仍然存在 值得庆幸的是,解决方法仍然有效! 更新11/7: 我们有一个解决方法! 来自Oracle的Leonid Romanov在openjdk.java.net邮件列表中提供了一些有关正在发生的事情的见解 : 好吧,虽然我还不是100%肯定,但看起来当我们进入全屏时,其他一些窗口成为第一响应者,因此发出哔哔声。 您可以尝试以下解决方法:在框架上调用setFullScreenWindow()之后,调用setVisible(false),然后调用setVisible(true)。 理论上,这应该恢复正确的第一响应者。 似乎有用的代码片段很简单: dev.setFullScreenWindow(f); f.setVisible(false); f.setVisible(true); 我更新了示例代码,可以打开和关闭此修复程序; 每次窗口进入全屏时都需要它。 在我更复杂的应用程序的更大的上下文中,我仍然在全屏窗口中的子组件上遇到键盘焦点问题,鼠标单击导致我的窗口失去焦点。 (我猜它会转到上面提到的不受欢迎的第一响应者窗口。)当我有关于这种情况的更多信息时,我会报告回来 – 我还不能在较小的样本中重现它。 更新10/31: 示例代码的主要更新: 包括在FullScreen独占模式和Lion风格的全屏模式之间切换 侦听KeyboardFocusManager以显示当前焦点组件的层次结构 使用输入映射和KeyListener来尝试捕获输入 还与同事一起进行了更多挖掘,试图找出问题: 在一方面,我们尝试覆盖RT.jar中的一些方法,以查看屏幕设备的选择方式是否存在问题。 还尝试了Toolkit.beep()function的入口点,以查看警报声是否来自Java端 – 似乎没有。 另一方面,很明显即使是本机方也没有接收键盘事件。 同事将此归因于7月6日从AWTView到NSWindow的转换。 已找到一些现有的Oracle错误,您可以在此处查找: 8000276:[macosx] graphicsDevice.setFullScreenWindow(frame)崩溃JVM 8000430:[macosx] java.awt.FileDialog在macosx上发布 7175707:[macosx] PIT:8 b43不再在AppKit线程问题上运行 更新10/26: 感谢@maslovalex下面关于工作于7u5的Applet的评论,我回过头来仔细研究了与OSX的JDK版本的兼容性: 10.7.1 with 7u4:Fullscreen Works! 10.7.1 with 7u5:Fullscreen Works! 10.7.5与7u5:全屏工作! 10.7.5与7u6:全屏rest:( […]

Java全屏程序(Swing)-Tab / ALT F4

在我的Java程序运行时,我需要一种方法来阻止人们使用其他程序。 IE停止人们切换标签并按下alt f4 … 谢谢 :)

如何在框架可见后调用setUndecorated()?

在我的Swing应用程序中,我希望能够在装饰和未装饰之间切换而无需重新创建整个框架。 但是,在框架可见之后,API不允许我调用setUndecorated() 。 即使我调用setVisible(false) , isDisplayable()仍然返回true。 API说,使帧不可显示的唯一方法是重新创建它。 但是,我不想重新创建框架只是为了关闭一些标题栏。 我正在制作一个可以在全屏和窗口模式之间切换的全屏应用程序; 它应该能够在保持状态等的同时切换。 如何在框架可见后执行此操作?

OSX Lion上的Java应用程序的全屏function

我如何(本机地)在Java应用程序中实现OSX Lion的全屏function? 目前给出的答案包含了实现全屏排序function的好方法。 我已经读过Eclipse可能能够使用Lion的“原生”全屏function。 这就是我要问的问题。