Maus fangen

Status
Nicht offen für weitere Antworten.

Felix

Bekanntes Mitglied
Hallo zusammen,

wie kann ich denn die Maus einfangen?
Nennt man das überhaupt so? Was ich machen möchte ist (wie von Spielen bekannt), dass der Mauszeiger nicht mehr angezeigt wird, sondern man mit der Maus die Bewegung steuert. Allerdings möchte ich das Programm nicht im Vollbildmodus laufen lassen. Wie mache ich so etwas?

Grüße
der Felix
 

Ariol

Top Contributor
Sowas?

Code:
import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.Robot;
import java.awt.event.AWTEventListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionAdapter;

import javax.swing.JFrame;


public class MouseCatcher extends JFrame
{
	private Point lastPosition = new Point(0,0);
	private Robot r;
	
	public MouseCatcher() throws AWTException
	{
		r = new Robot();
		addMouseListener(new MouseAdapter()
		{
			@Override
			public void mouseExited(MouseEvent e)
			{
				super.mouseExited(e);
				r.mouseMove(lastPosition.x,lastPosition.y);
			}
		});
		addMouseMotionListener(new MouseMotionAdapter()
		{
			@Override
			public void mouseMoved(MouseEvent e)
			{
				super.mouseMoved(e);
				lastPosition = e.getLocationOnScreen();
			}
		});
		setPreferredSize(new Dimension(100,100));
		pack();
		setVisible(true);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
	
	
	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		try
		{
			new MouseCatcher();
		}
		catch (AWTException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
 

Quaxli

Top Contributor
Ich tippe mal, daß er in etwa sowas gemeint hat:

Code:
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;

import javax.swing.*;

public class MouseCatcher extends JPanel implements MouseMotionListener {



	private static final long	serialVersionUID	= 1L;
	private Point p;

	public static void main(String[] args) {
		new MouseCatcher();
	}
	
	public MouseCatcher() {
		JFrame frame = new JFrame("demo");
    frame.setLocation(100,100);
	  frame.setSize(300,300);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		addMouseMotionListener(this);

		BufferedImage img = new BufferedImage( 1, 1, BufferedImage.TRANSLUCENT );
		Cursor cursor = Toolkit.getDefaultToolkit().createCustomCursor( img, new Point(0,0), "wech" );
		setCursor(cursor);
		
		frame.add(this);
		
		frame.setVisible(true);
	}

	
	public void paintComponent(Graphics g) {
	  super.paintComponent(g);
		g.setColor(Color.RED);
		if(p!=null){
			g.drawRect(p.x, p.y, 20, 20);
		}
	
	}


	public void mouseDragged(MouseEvent e) {

		
	}

	public void mouseMoved(MouseEvent e) {

		p = e.getPoint();
		repaint();
		
	}




}
 
B

Beni

Gast
Mit der java.awt.Robot Klasse kannst du die Maus auch an eine neue Position (z.B. Mitte des Bildschirms) setzen. Sonst kannst du dich im Spiel irgendwann nicht mehr weiterbewegen weil die Maus am Rande des Bildschirmes angekommen ist.
 

Felix

Bekanntes Mitglied
Danke an alle schon mal, und ganz besonders für den Code. Ich versteh ihn auch, aber trotzdem wird, wenn ich ihn in Eclipse kopiere nur ein graues Fenster beim Ausführen geöffnet, und der Mauszeiger bleib erhalten. Und bei deinem Code Quaxli wird auch kein Rechteck gezeichnet... Konfigurationsfehler? Ich nehme an bei euch funktioniert der Code?
 

Quaxli

Top Contributor
Nee, wir posten immer fehlerhaften Code ;)
Hast Du den Mauszeiger mal IN das aktive Fenster bewegt?
 

Felix

Bekanntes Mitglied
Ja das dachte ich mir :wink: Ne mal ernsthaft: wenn ich das Programm aus Eclipse raus starte funktionierts nicht, nur wenn ich es mit der Konsole aufmache.

Ja fett, damit ist meine Frage eigl gelöst, oder? Ich mach das so wie im Code oben und verschieb dann immer mit der Robot-Klasse den Mauszeiger wieder in die Mitte vom Fenster. :toll:
 

Ariol

Top Contributor
Felix hat gesagt.:
Ja das dachte ich mir :wink: Ne mal ernsthaft: wenn ich das Programm aus Eclipse raus starte funktionierts nicht, nur wenn ich es mit der Konsole aufmache.

Ja fett, damit ist meine Frage eigl gelöst, oder? Ich mach das so wie im Code oben und verschieb dann immer mit der Robot-Klasse den Mauszeiger wieder in die Mitte vom Fenster. :toll:

Das mit dem in die Mitte des Fensters verschieben würd ich mir nochmal überlegen...da springt die Maus ganz schön.
Wie schon oben, würd ich's lieber an den letzten Punkt vor dem Verlassen oder zumindest dort in die Nähe.
 
B

Beni

Gast
Ariol hat gesagt.:
Das mit dem in die Mitte des Fensters verschieben würd ich mir nochmal überlegen...da springt die Maus ganz schön.
Wie schon oben, würd ich's lieber an den letzten Punkt vor dem Verlassen oder zumindest dort in die Nähe.
Ist doch egal, sie ist ja unsichtbar :lol:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Isometrische Tileauswahl mit der Maus Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
CptK Klassen mouseClicked wird nicht aufgerufen, während man die Maus bewegt Java Basics - Anfänger-Themen 4
D Wie frage ich ab ob die Linke maus Taste gedrückt wurde? Java Basics - Anfänger-Themen 3
M Graphics2D Objekt mir der Maus erstellen Java Basics - Anfänger-Themen 5
T Zur Maus zoomen / Fehler bei Bilddarstellung Java Basics - Anfänger-Themen 3
J GridPane per Maus Zelle bekommen, wie? Java Basics - Anfänger-Themen 4
N Erkennen ob Linkshänder Maus Java Basics - Anfänger-Themen 4
C [Greasmonkey] Maus Coursor position setzen Java Basics - Anfänger-Themen 1
S Maus soll Programm nicht verlassen Java Basics - Anfänger-Themen 1
P mousevents bei Maus und touchscreen reagieren unterschiedlich Java Basics - Anfänger-Themen 1
X Weg der Maus in px Java Basics - Anfänger-Themen 1
L Maus Click Simulation Java Basics - Anfänger-Themen 5
J Windows Maus-Zeigerbeschleunigung aktivieren/deaktivieren - Mit Java möglich? Java Basics - Anfänger-Themen 2
S Maus Position Java Basics - Anfänger-Themen 6
S java ruckelnde maus Java Basics - Anfänger-Themen 8
E Y-Position der Maus nehmen Java Basics - Anfänger-Themen 5
K Bild mit Maus innerhalb eines Rahmens bewegen Java Basics - Anfänger-Themen 5
T problem mit der maus in BlueJ Java Basics - Anfänger-Themen 14
Nicer Maus Events Java Basics - Anfänger-Themen 2
J SuM.kern.Maus gibt null obwohl initialisiert Java Basics - Anfänger-Themen 3
J den x und y Wert beim klicken der Maus ermitteln Java Basics - Anfänger-Themen 2
R Objekt mit Maus auswählen und verschieben Java Basics - Anfänger-Themen 2
S Koordinaten der Maus wiedergeben Java Basics - Anfänger-Themen 6
B GridLayout - elemente mit Maus abfragen Java Basics - Anfänger-Themen 3
Hamstinator Fenster mit Maus verschieben Java Basics - Anfänger-Themen 2
B Hilfe: Tastatureingaben werden erst nach der Maus angenommen Java Basics - Anfänger-Themen 3
C Scroll per Maus Java Basics - Anfänger-Themen 2
O Maus / Pixel Position bei mir und bei anderen. Java Basics - Anfänger-Themen 8
B träge Maus Java Basics - Anfänger-Themen 2
H2SO3- dreieck, bild --> maus klick event. Wie gehts? Java Basics - Anfänger-Themen 10
A grafik 2d Objekte mit der Maus bewegen Java Basics - Anfänger-Themen 4
H Objekt mit Maus verschieben Java Basics - Anfänger-Themen 4
A Maus positionserkennung zu langsam Java Basics - Anfänger-Themen 4
G Maus mit java bewegen Java Basics - Anfänger-Themen 6
N Applet ruckelt solange Maus nicht in Bewegung? Java Basics - Anfänger-Themen 3
M Maus position abfragen und setzen? Java Basics - Anfänger-Themen 1
G nicht Quadratischer Maus-Klickbereich Java Basics - Anfänger-Themen 6
M Fokus mit Maus und Tastatur Java Basics - Anfänger-Themen 5
T eine zusätzliche Virtualle Maus Java Basics - Anfänger-Themen 11
E Mit der Maus Zeichenen Java Basics - Anfänger-Themen 5
DEvent Maus deaktivieren und exklusiv nur für das Hauptfenster Java Basics - Anfänger-Themen 5
E Kreis in Frame ,den man mit der Maus versetzen kann? Java Basics - Anfänger-Themen 2
B Button - auf Maus reagieren Java Basics - Anfänger-Themen 16
G Buttons mit der Maus nicht anklickbar Java Basics - Anfänger-Themen 8
B Probleme mit der maus Java Basics - Anfänger-Themen 4
M Maus und Tastatur Java Basics - Anfänger-Themen 5
G Maus+Tastatur aktionen simulieren? Java Basics - Anfänger-Themen 5
D Maus steuern Java Basics - Anfänger-Themen 9
D C/C++-SendMessage()-Nachrichten fangen Java Basics - Anfänger-Themen 3
O "restliche" Exceptions fangen Java Basics - Anfänger-Themen 8
T Problem beim Werfen und Fangen von Exceptions Java Basics - Anfänger-Themen 2
V Netbeans: Im GUI das Fangen abschalten Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben