Tag: 全屏

全屏窗口不会使用KeyListener或KeyBoardFocusManager获取键盘输入

让我的KeyBoardFocusManger与我的全屏Window一起工作时遇到问题。 无论如何,它只是不会得到键盘输入。 我使用System.exit(0)和println()来查找对keypressed / release / typed方法的任何调用,但不会抛出任何错误。 我试过KeyListeners ; 但在我读完之后,我改为使用KeyboardFocusManager ,同样的事情仍然发生。 我真的很绝望; 从我可以判断, Window没有得到键盘的焦点? 这是我的主要内容: public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { @Override public void run() { // Determine if full-screen mode is supported directly GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice gs = ge.getDefaultScreenDevice(); if (gs.isFullScreenSupported()) { Frame frame = new Frame(gs.getDefaultConfiguration()); SpaceInvaderUI spaceInvaderUI […]

Mac OSX中真正的全屏JFrame / Swing应用程序

我正在开发应用程序,我正在使用Swing制作GUI。 我希望我的应用程序是全屏的。 我可以很容易地设置窗口的大小但是我无法使应用程序真正全屏(IE与苹果菜单栏和底座隐藏)。 我在网上找到的所有答案似乎都不适合我。 我是Java的新手,所以任何帮助都表示赞赏。 frame = new JFrame(“Test”); frame.setTitle(“Test”); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel emptyLabel = new JLabel(“”); Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); frame.getContentPane().add(emptyLabel, BorderLayout.CENTER); frame.setSize((int)dimension.getWidth(), (int)dimension.getHeight()); int x = (int) ((dimension.getWidth() – frame.getWidth()) / 2); // X center int y = (int) ((dimension.getHeight() – frame.getHeight()) / 2); //Y center frame.setLocation(x, y); //Set Frame Location frame.setResizable(false); //Frame is […]

Java – 将JFrame设置为全屏时,屏幕变为黑色

我正在尝试在Canvas上绘制内容,将其添加到JFrame,然后将此JFrame设置为Fullscreen。 我的问题是:在全屏模式下我只看到黑屏。 在屏幕变黑之前,我很快就会看到canvas的粉红色背景。 直接在JFrame上绘图,然后将其设置为全屏工作完全正常,我可以看到testtext。 我认为正确显示Canvas存在问题。 这是我的代码: public class FullscreenTest extends Canvas { private JFrame mainFrame; public FullscreenTest(){ this.mainFrame = new JFrame(); JPanel contentPane = (JPanel) mainFrame.getContentPane(); contentPane.add(this); } public void run(DisplayMode dm){ setBackground(Color.PINK); setForeground(Color.WHITE); setFont(new Font(“Arial”, Font.PLAIN, 24)); Screen s = new Screen(); s.setFullScreen(dm, this.mainFrame); try { Thread.sleep(5000); } catch (InterruptedException exc) { exc.printStackTrace(); } […]

全屏阶段在JavaFX 2.1中无法正常工作?

我加载它的第一个阶段总是作为全屏打开。 stage.setFullScreen(true); stage.setScene(login_scene); 但是,当我更改为另一个FXML时,应用程序保持全屏(没有顶部工具栏..),但实际视图内容在FXML的根AnchorPane的prefWidth / prefHeight上resize(我可以看到我右下角的桌面:| ),我希望它对我的屏幕分辨率是动态的。 谢谢。 @Later编辑: 因此,在我的主要类I的start方法中加载一个Scene(从FXML doc创建)并将其设置为Stage(start方法参数)。 我保存这个阶段供以后使用。 当我按下具有相同阶段的按钮时,我先保存,然后将场景更改为另一个FXML文档 @Screenshots: http://tinypic.com/r/2079nqb/6 – 第一个场景正常工作 – 来自主类的开始覆盖方法的代码 @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource(“Sample.fxml”)); stage.setScene(new Scene(root)); stage.setFullScreen(true); stage.show(); currentStage = stage; } http://tinypic.com/r/szfmgz/6 – 重新加载第二个场景后 – 来自示例控制器类的下面的代码 @FXML private void handleButtonAction(ActionEvent event) throws IOException { Parent root = […]

Java setFullScreenWindow()保持在最顶层

我正在编写一个旨在双显示器设置上运行的应用程序,其中“Display”JFrame在一台显示器上全屏显示,另一台显示器上显示“Control”JFrame,向显示器发送指令。 我尝试了两种不同的方法来设置全屏显示; 每个人的成功似乎都取决于操作系统。 display.setUndecorated(true); display.setExtendedState(JFrame.MAXIMIZED_BOTH); 适用于Windows,但JFrame隐藏在OS X和Linux的dock / panels下。 我的另一种方法,利用 GraphicsDevice.setFullScreenWindow(display); 适用于我尝试的所有三个操作系统,但在Windows中,将控制窗口聚焦在另一台显示器上会使显示窗口隐藏,并调用 display.setAlwaysOnTop(true); 不解决问题。 我有点偏向GraphicsDevice方法,因为我不必处理OS X或Linux中的问题,我希望Windows问题是一个简单的修复。 是吗?

在Windows屏幕对话框弹出窗口中,全屏独占模式下的AWT帧最小化

我正在开发一个在全屏独占模式下使用awt框架的应用程序。 Everythings工作正常,直到Windows弹出窗口可见。 这将窃取焦点,我的应用程序将被最小化。 这是我的框架初始化代码: if (ApplicationConfig.getInstance().useFullscreenMode()) { frame.setUndecorated(true); frame.setResizable(false); if (monitor.isFullScreenSupported()) { monitor.setFullScreenWindow(frame); if (monitor.isDisplayChangeSupported()) { DisplayMode defaultMode = new DisplayMode( (int) appDimension.getWidth(), (int) appDimension.getHeight(), 32, DisplayMode.REFRESH_RATE_UNKNOWN); monitor.setDisplayMode(defaultMode); frame.setFulscreenDisplayMode(defaultMode); DisplayMode selectedMode = monitor.getDisplayMode(); log.debug(“Setting fullscreen display mode to ” + selectedMode.getWidth() + “x” + selectedMode.getHeight() + ” color depth: ” + selectedMode.getBitDepth() + ” refresh […]

在JAVA中,使用setDisplayMode更改分辨率以进行全屏应用

我是JAVA语言的初学者,正在尝试学习如何创建全屏应用程序。 我正在尝试创建一个简单的应用程序,在运行时,在屏幕中央显示带有蓝色背景和简单文本行的全屏(从位置400×300开始)。 应用程序的分辨率设置为800×600。 我在运行OSX Lion的MacbookAir上运行代码,屏幕分辨率为1440×900。 问题是,尽管获得了我预期的蓝色背景,但文本仅显示在屏幕的左上角。 当我增加它的位置时,文本的位置将继续向下移动,直到它消失时超过1440×900。 我猜测屏幕分辨率仍设置为1440×900,与800×600相反。 这是我的主要课程: import java.awt.*; import javax.swing.JFrame; public class bucky extends JFrame { public static void main(String[] args){ DisplayMode dm = new DisplayMode(800, 600, 16, DisplayMode.REFRESH_RATE_UNKNOWN); bucky b = new bucky(); b.run(dm); } public void run(DisplayMode dm){ setBackground(Color.BLUE); // Setting background color setForeground(Color.WHITE); setFont(new Font(“Arial”, Font.PLAIN, 24)); //The Screen […]

如何让JFrame真正全屏?

在我的Java应用程序中,我尝试使用以下代码使JFrame真正全屏: public class MainFrame extends JFrame { private static final long serialVersionUID = 1L; public MainFrame() { super(); this.setTitle(); this.setUndecorated(true); this.setExtendedState(JFrame.MAXIMIZED_BOTH); this.setVisible(true); //this.pack(); } } 但在我的Mac上,我仍然可以看到Dock和OSX的顶部工具栏。 那么如何创建一个真正消耗整个屏幕的JFrame呢? 编辑我必须补充说我想从eclipse插件调用那个JFrame。

如何在OSX上使用Java进行全屏显示

我一直在尝试并且未能在OSX系统的主显示器上使用java全屏模式。 无论我尝试过什么,我似乎都无法摆脱显示屏顶部的“苹果”菜单栏。 我真的需要在整个屏幕上画画。 谁能告诉我如何摆脱菜单? 我附上了一个展示问题的示例类 – 在我的系统上,菜单仍然可见,我希望看到一个完全空白的屏幕。 import java.awt.*; import java.awt.event.*; import javax.swing.JFrame; public class FullScreenFrame extends JFrame implements KeyListener { public FullScreenFrame () { addKeyListener(this); setUndecorated(true); GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice(); if (gd.isFullScreenSupported()) { try { gd.setFullScreenWindow(this); } finally { gd.setFullScreenWindow(null); } } else { System.err.println(“Full screen not supported”); } setVisible(true); } public void keyTyped(KeyEvent […]

Linux全屏幕Java – 如何覆盖任务栏?

我在“openSUSE 11.4(x86_64)”上以全屏模式运行Java应用程序时遇到问题。 我使用的是Java 1.6.0_26-b03。 我尝试运行两个全屏应用程序示例: Oracle站点示例: 显示模式测试 。 从Codealchemists下载的JDarkRoom.jar(简单文本编辑器)。 在这两种情况下,我都可以通过应用程序看到一个Linux任务栏。 它必须是系统设置/配置的东西?