


Wie gehe ich mit Tastatur- und Mausereignissen im exklusiven Vollbildmodus von Java um?
Verarbeiten von Tastatur- und Mausereignissen im exklusiven Vollbildmodus in Java
Beim Betrieb im passiven Rendering-Modus können die Schnittstellen KeyListener und ActionListener zum Verwalten von Ereignissen verwendet werden, die von generiert werden der Benutzer. Wenn die Anwendung jedoch in den Vollbildmodus wechselt, funktioniert der herkömmliche Ansatz zur Ereignisbehandlung möglicherweise nicht wie erwartet.
In diesem Artikel wird die richtige Methode zur Behandlung von Ereignissen im Vollbildmodus erläutert. Es erweitert den bereitgestellten Grundcode, um die Behandlung von Mausklick- und Tastendruck-Ereignissen zu implementieren und gleichzeitig sicherzustellen, dass der Code prägnant bleibt.
Code-Gerüst für den Vollbildmodus
Das folgende Code-Gerüst bereitet die Bühne für den Vollbildmodus Exklusivmodus und rendert Grafiken in einem Fenster mithilfe eines Timers:
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 { Timer timer; JFrame frame; DisplayMode[] displayModes = new DisplayMode[] { new DisplayMode(1280, 800, 32, 60) }; BufferStrategy bufferStrategy; Rectangle bounds; public void init() { GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice device = env.getDefaultScreenDevice(); setIgnoreRepaint(true); GraphicsConfiguration gc = device.getDefaultConfiguration(); frame = new JFrame(gc); device.setFullScreenWindow(frame); if (device.isDisplayChangeSupported()) device.setDisplayMode(displayModes[0]); frame.createBufferStrategy(2); bufferStrategy = frame.getBufferStrategy(); timer = new Timer(1000 / 50, new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { Graphics2D g = null; try { g = (Graphics2D) bufferStrategy.getDrawGraphics(); render(g); } finally { g.dispose(); } bufferStrategy.show(); } }); } private void render(Graphics2D g) { g.setColor(Color.BLACK); g.fillRect(0, 0, bounds.width, bounds.height); } public void start() { timer.start(); } public void stop() { timer.stop(); } }
Mausklick- und Tastendruck-Ereignisbehandlung implementieren
Der folgende Code erweitert die Skelett durch Hinzufügen einer Ereignisbehandlung für Mausklicks und Tastendrücke im Vollbildmodus:
import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; class Applet extends Applet { @Override public void init() { super.init(); this.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { // Handle mouse click event } }); this.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { // Handle key press event } }); } }
Die MouseAdapter-Klasse stellt die notwendigen Methoden zur Behandlung von Mausereignissen, wie z. B. Klicks, bereit. In ähnlicher Weise vereinfacht die KeyAdapter-Klasse die Handhabung von Tastendruckereignissen.
Verwendung
Um diese Ereignisverarbeitungsfunktionen zu nutzen, instanziieren Sie die Applet-Klasse und rufen ihre init()-Methode auf.
Fazit
Dieser Code zeigt, wie Tastatur- und Mausereignisse effektiv verarbeitet werden, während die Anwendung im exklusiven Vollbildmodus ausgeführt wird. Die bereitgestellte Lösung ist einfach, zuverlässig und mit der Vollbildumgebung kompatibel.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit Tastatur- und Mausereignissen im exklusiven Vollbildmodus von Java um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Fehlerbehebung und Lösungen für die Sicherheitssoftware des Unternehmens, die dazu führt, dass einige Anwendungen nicht ordnungsgemäß funktionieren. Viele Unternehmen werden Sicherheitssoftware bereitstellen, um die interne Netzwerksicherheit zu gewährleisten. ...

Lösungen zum Umwandeln von Namen in Zahlen zur Implementierung der Sortierung in vielen Anwendungsszenarien müssen Benutzer möglicherweise in Gruppen sortieren, insbesondere in einem ...

Die Verarbeitung von Feldzuordnungen im Systemdocken stößt häufig auf ein schwieriges Problem bei der Durchführung von Systemdocken: So kartieren Sie die Schnittstellenfelder des Systems und ...

Beginnen Sie den Frühling mit der Intellijideaultimate -Version ...

Konvertierung von Java-Objekten und -Arrays: Eingehende Diskussion der Risiken und korrekten Methoden zur Konvertierung des Guss-Typs Viele Java-Anfänger werden auf die Umwandlung eines Objekts in ein Array stoßen ...

Bei Verwendung von MyBatis-Plus oder anderen ORM-Frameworks für Datenbankvorgänge müssen häufig Abfragebedingungen basierend auf dem Attributnamen der Entitätsklasse erstellt werden. Wenn Sie jedes Mal manuell ...

Wie erkennt die Redis -Caching -Lösung die Anforderungen der Produktranking -Liste? Während des Entwicklungsprozesses müssen wir uns häufig mit den Anforderungen der Ranglisten befassen, z. B. das Anzeigen eines ...

Detaillierte Erläuterung des Designs von SKU- und SPU-Tabellen auf E-Commerce-Plattformen In diesem Artikel werden die Datenbankdesignprobleme von SKU und SPU in E-Commerce-Plattformen erörtert, insbesondere wie man mit benutzerdefinierten Verkäufen umgeht ...
