Mouse nicht ausserhalb der Applikation zulassen

0plan

Bekanntes Mitglied
Hallo, wie bekomme ich es hin, dass die Maus nicht ausserhalb meines Frames gehen kann ? Ich bewege ein Objekt via MouseMotionListener in einem JPanel, möchte aber das der wirkliche Mauszeiger des Betriebssystems nicht aus der Applikation gehen kann, damit das Fenster nicht den Focus verliert.
 

Gossi

Bekanntes Mitglied
Klingt nach Popup...

Ich denke des wird so nicht möglich sein, da Java nicht so Hardware nahe ist, dass es die Maus soweit einschränken kann....
 

Swoop

Gesperrter Benutzer
Ich glaub nicht, dass es so Möglich ist.

Das einzigste Was mir einfallen würde, dass du den Benutzer immer darauf hinweist, dass er nicht außerhalb der Anwendung sein darf. So bekommt er wenn ers trotzdem tut ein haufen Fehlermeldungen.
Anders könnte ich mir keine Lösung vorstellen. Evtl. mal in einem C/++/# (o.ä.) Forum nachfragen, evtl gibts da Lösungen

Gruß Swoop
 

truesoul

Top Contributor
Natürlich geht das :joke:
Java:
final JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setBounds(0, 0, 300, 300);
        frame.addMouseMotionListener(new MouseMotionAdapter() {
			@Override
			public void mouseMoved(MouseEvent arg0) {
				frame.setBounds(arg0.getX()+frame.getX()/2, arg0.getY()+frame.getY()/2, 300, 300);	
			}
		});
        frame.setVisible(true);

Edit:

Vielleicht könntest du mit diesem Beispiel was anfangen:

Java:
		Robot rob = new Robot();
		rob.mouseMove(20,760); // Mauszeiger bewegen
		rob.delay(2000); // warte 2 Sekunden
		rob.mouseMove(60,420); // Mauszeigerbewegen
		rob.delay(2000); // warte 2 Sekunden

Geht der benutzer mit der Maus von Fenster setze die Maus wieder dorthin ;)
 
Zuletzt bearbeitet:
G

Gast2

Gast
Erst ab Java 7! Bedenke, dass das noch lange nicht jeder hat!

Das soll jetzt nicht dagegen sprechen. Nur vergess es nicht.
 
B

bygones

Gast
Danke hab es mit der Robotklasse gelöst, dachte das geht auch eleganter, funktioniert aber ,)

whau, den use case will ich sehen. Wenn ich als nutzer raus aus dem Frame will, und das programm unterbindet das konsequent so ist es bald ein existierendes Programm gewesen.

Auch wenn... per Alt+Tab oder sonstiges kann man das Programm immer verlassen.
 

Swoop

Gesperrter Benutzer
whau, den use case will ich sehen. Wenn ich als nutzer raus aus dem Frame will, und das programm unterbindet das konsequent so ist es bald ein existierendes Programm gewesen.

Auch wenn... per Alt+Tab oder sonstiges kann man das Programm immer verlassen.

Kommt drauf an ... Bei Spielen oder sowas will man ja gerade das meistens nicht ...
 

Sonecc

Gesperrter Benutzer
Vajanoid ist so ein beispiel (Arkanoid Klon, hat ein user hier mal gepostet)
Das Spiel treibt mich zur Verzweiflung weil ich bei schnellen Bewegungen schonmal mit der Maus aus dem Fenster rutsche.
Ergebnis ist, dass ich danach ein leben weniger habe. Würde man verhindern, dass die maus das Fenster verlassen kann (oder wenigstens das Spiel dann pausieren), würde sowas nicht dauernd vorkommen
 

pro2

Bekanntes Mitglied
Eben, bei so Spielen ist man schnell mit der Maus aus dem Fenster und man ärgert sich dann nur. Alternativ könnte man auch noch eine Einstellung hinzufügen, dass man die Maus im Fenster hält. Dann kann der Benutzer selbst entscheiden.

edit: auch gerade bei Spielen, bei denen die Figur mit der Maus gesteuert wird, vor allem schlimm!
 

Marco13

Top Contributor
Auch bei 3D-Spielen usw. kann es ggf. Sinn machen: Wenn man die Maus immer weiter nach rechts schiebt, will man immer weiter nach rechts gucken... (und das drehen soll nicht irgendwann aufhören, nur weil die Maus aus dem Fenster raus ist)
 
V

vanny

Gast
In der Regel ist´s ja so, das zumindest beim drehen irgendeine Taste gehalten wird.
Dann wird der Mauszeiger eingefrohren und die Drehung erfolgt.
Solange man also einen Modus hat, in dem die Maus für scroll-, dreh- oder moveBewegungen genutzt werden soll ist es durchaus sinnvoll, die Maus im Frame zu halten.
Wichtig währe halt nur eine Option um bequem wieder eine "normale" Maus zu besitzen, die auch den Frame verlassen kann.
 

Kevin94

Top Contributor
Das noch niemand Minecraft als use-case eingefallen ist wundert mich, dort ist es imho sinnvoll und auch gut umgesetzt. Sobald man das Spiel pausiert kann man das Fenster mit der Maus ja wieder verlassen.
 

GUI-Programmer

Top Contributor
Bei Minecraft funktioniert das ja so wie hier beschrieben, nämlich das die Maus nur bei Drücken von E oder Esc das Fenster verlassen kann. Wie wurde das denn dann hier gelöst? Oder gehört das zu den NICHT-JAVA-TEIL von Minecraft?
 

Kevin94

Top Contributor
Afaik gibt es in Minecraft keinen "Nicht-Java-Teil", es gibt blos zwei native Bibliotheken, nählich LWJGL und JInput, ich vermute mal das es mit Hilfe von diesen Bibliotheken gelöst wurde.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T fenster schliesen und mouse events in einer nicht abstrakten klasse Java Basics - Anfänger-Themen 6
H Mouse- und KeyListener Probleme? Java Basics - Anfänger-Themen 5
M Buttons erscheinen erst bei Mouse-Over Java Basics - Anfänger-Themen 8
H Mac Mighty Mouse horizontales Scrollen Java Basics - Anfänger-Themen 7
Weiti Anzeige von komponenten erst bei Mouse-Over Java Basics - Anfänger-Themen 3
Developer_X Mouse MOTION listener example Java Basics - Anfänger-Themen 5
J Mouse-Listener Java Basics - Anfänger-Themen 3
A JButton erscheint erst bei mouse over Java Basics - Anfänger-Themen 3
M mouse Pressed und Mouse Clicked Java Basics - Anfänger-Themen 3
M Mouse Listener liefert das ergebnis 2 mal! Java Basics - Anfänger-Themen 2
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
missy72 Erste Schritte (nicht) Deterministischer endlicher Automat Java Basics - Anfänger-Themen 9
T Getter/Setter - wie sieht ein Setter aus? Und wie nicht? Java Basics - Anfänger-Themen 34
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
P Netbeans installation geht nicht Java Basics - Anfänger-Themen 26
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3
H Counter durch gepresste Taste nur auf 1 erhöhen und nicht durchzählen lassen Java Basics - Anfänger-Themen 7
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
T scanner nicht erkannt Java Basics - Anfänger-Themen 3
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
monsterherz Fehler Semikolon fehlt - ich weiss aber nicht wo da noch eines hin sollte... Java Basics - Anfänger-Themen 21
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
monsterherz if / else if mit Fehler den ich leider nicht finde Java Basics - Anfänger-Themen 11
D Jar Datei startet unter Linux nicht Java Basics - Anfänger-Themen 3
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
Darkherobrine9 Import klappt nicht Java Basics - Anfänger-Themen 7
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
_so_far_away_ Inventarisierungssystem brauche switch Cases und weiß nicht, wie ich e implementieren muss Java Basics - Anfänger-Themen 5
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
C Kann mir jemand sagen warum ich nicht mal rechnen kann ? Java Basics - Anfänger-Themen 32
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
A JavaFX-Anwendung läuft nicht mit Selenium WebDriver Java Basics - Anfänger-Themen 0
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
T Wie kann man es machen das ein Objekt nicht übermalt wird Java Basics - Anfänger-Themen 2
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
heinrich172 Methoden Trotz gleichem Element stimmt Vergleich nicht? Java Basics - Anfänger-Themen 7
I Entity Objekt nicht gefunden -> Webhook empfangen in der gleichen Methode (Transaktion) Java Basics - Anfänger-Themen 37
K warum kann ich das Objekt nicht erstellen ? Java Basics - Anfänger-Themen 2
MiMa Ungültiges Datum wird nicht erkannt ?? Java Basics - Anfänger-Themen 6
J Meine Mails gehen nicht raus Java Basics - Anfänger-Themen 8
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
S Ist JDK jetzt free oder nicht? Java Basics - Anfänger-Themen 5
K Warum läuft das Programm nicht(bzw. nicht richtig) Java Basics - Anfänger-Themen 4
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
M Methoden Methode 'wiederhole' nicht gefunden (Uebersetzungsfehler) Java Basics - Anfänger-Themen 1
D Eclipse will nicht auslesen Java Basics - Anfänger-Themen 6
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18
TeacherMrSSimon Schachspiel, Werte in Figur eintragen klappt nicht Java Basics - Anfänger-Themen 23
B von Java/Eclipse verwendete Datei existiert gar nicht? Java Basics - Anfänger-Themen 6
ms_cikar Bin to Float convertieren funktioniert nicht Java Basics - Anfänger-Themen 24
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
M JButton setBackground() färbt nicht den ganzen Knopf Java Basics - Anfänger-Themen 4
K REGEX - Rechnungsbetrag wird nicht richtig ausgelesen. Java Basics - Anfänger-Themen 3
B Dekorator Muster - Irgendwas stimmt hier doch nicht? Java Basics - Anfänger-Themen 4
I Greenscreen, funktioniert nicht zu 100%... nicht alle Pixel werden geändert Java Basics - Anfänger-Themen 1
C Java boolean Code läuft nicht Java Basics - Anfänger-Themen 5
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben