相关疑难解决方法(0)

如何在java中以全屏独占模式处理键盘和鼠标的事件?

在被动渲染模式中,可以使用KeyListenerActionListener接口来处理来自用户的事件.

全屏模式下事件处理的正确方法是什么?请扩展此骨架,提供鼠标点击和按键事件的实现,请不要膨胀您的示例(示例启动全屏独占模式,使用Timer更新窗口中的图形):

import java.applet.Applet;
import java.awt.Color;
import java.awt.DisplayMode;
import java.awt.Graphics2D;
import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferStrategy;
import javax.swing.JFrame;
import javax.swing.Timer;

public class applet extends Applet
{
    Timer timer;
    JFrame frame;
    DisplayMode[] displayModes = new DisplayMode[] {
            new DisplayMode(1280, 800, 32, 60)
    };

    BufferStrategy bufferStrategy;
    Rectangle bounds;

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    /**
     * @param args
     */

    public void init()
    {

        GraphicsEnvironment …
Run Code Online (Sandbox Code Playgroud)

java keyboard mouse swing fullscreen

12
推荐指数
2
解决办法
1万
查看次数

Java setFullScreenWindow()保持在最顶层

我正在编写一个旨在双显示器设置上运行的应用程序,一台显示器上的"Display"JFrame全屏显示,另一台显示器上显示"Control"JFrame,向显示器发送指令.我尝试了两种不同的方法来设置全屏显示; 每个人的成功似乎取决于操作系统.

display.setUndecorated(true);
display.setExtendedState(JFrame.MAXIMIZED_BOTH);
Run Code Online (Sandbox Code Playgroud)

适用于Windows,但JFrame隐藏在OS X和Linux的dock/panels下.

我的另一种方法,利用

GraphicsDevice.setFullScreenWindow(display);
Run Code Online (Sandbox Code Playgroud)

适用于我尝试的所有三个操作系统,但在Windows中,将控制窗口聚焦在另一个监视器上会使显示窗口隐藏,并调用

display.setAlwaysOnTop(true);
Run Code Online (Sandbox Code Playgroud)

不解决问题.我对该GraphicsDevice方法有点偏爱,因为我不必处理OS X或Linux中的问题,我希望Windows问题是一个简单的修复.是吗?

java swing fullscreen jframe

12
推荐指数
1
解决办法
1万
查看次数

如何在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 e) {}
    public void keyPressed(KeyEvent e) {}
    public void keyReleased(KeyEvent e) {
        setVisible(false);
        dispose();
    }

    public static void main (String [] args) {
        new FullScreenFrame();
    }
}
Run Code Online (Sandbox Code Playgroud)

java macos awt fullscreen

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

fullscreen ×3

java ×3

swing ×2

awt ×1

jframe ×1

keyboard ×1

macos ×1

mouse ×1