Heim > Java > javaLernprogramm > Wie gehe ich mit Benutzereingaben im exklusiven Vollbildmodus von Java um?

Wie gehe ich mit Benutzereingaben im exklusiven Vollbildmodus von Java um?

Mary-Kate Olsen
Freigeben: 2024-12-30 21:01:14
Original
581 Leute haben es durchsucht

How to Handle User Input in Java's Full-Screen Exclusive Mode?

Handhabung von Benutzereingaben im exklusiven Vollbildmodus in Java

Einführung

Beim Ausführen einer Java-Anwendung im exklusiven Vollbildmodus Modus funktionieren die üblichen Mechanismen zur Ereignisbehandlung möglicherweise nicht wie erwartet. In diesem Artikel wird der richtige Ansatz zur Verarbeitung von Benutzereingaben über Tastatur und Maus in diesem Modus untersucht.

Problem

Der passive Rendering-Modus ermöglicht die Verwendung von KeyListener- und ActionListener-Schnittstellen zur Verarbeitung Benutzereingaben. Im exklusiven Vollbildmodus funktionieren diese Methoden jedoch möglicherweise nicht wie vorgesehen.

Lösung

Das folgende Grundgerüst stellt ein überarbeitetes Beispiel dar, das die Ereignisbehandlung für Mausklicks und implementiert Tastendrücke im Vollbildmodus:

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.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
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() {
        // ... Same as before
        // ...

        // Register key event listeners
        this.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_Q, 0), "EXIT");
        this.getActionMap().put("EXIT", new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // Exit key handling
            }
        });

        // Register mouse event listeners
        this.addMouseMotionListener(new MouseAdapter() {
            @Override
            public void mouseMoved(MouseEvent e) {
                // Mouse movement handling
            }
        });
    }

    // ... Same as before
    // ...
}
Nach dem Login kopieren

Dieses überarbeitete Beispiel stellt sicher, dass Tastatur- und Mausereignisse im exklusiven Vollbildmodus korrekt verarbeitet werden. Es registriert wichtige Ereignis-Listener mit getInputMap und getActionMap und Maus-Ereignis-Listener mit addMouseMotionListener.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit Benutzereingaben im exklusiven Vollbildmodus von Java um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage