MouselIstener zu JFrame

Underfaker

Bekanntes Mitglied
Hallo zusammen,

ich versuche einen MouseListerner (konkret brauche ich mouseMoved) auf ein JFrame zu packen, da das offensichtlich nicht geht habe ich es bereits mit content- und glassPane probiert aber auch das brachte keinen Erfolg.

Ich habe einen einfachen printline Befehl eingegeben, der nie ausgeführt wird.

Es geht darum, dass wir auf mehreren Panel arbeiten und ein Panel ist auf einem anderen und ich würde gerne wissen ob der Mauszeiger gerade über diesem Panel ist oder nicht.

Hat da jemand eine Idee?

Beste Grüße und danke im Voraus
 
Kannst du genauer Information geben. Was ist das letzte was du ausprobiert hast und warum geht es nicht, also welche Fehlermeldung bekommst du denn?

Hilfreich wären auch Codeausschnitte.
 
Java:
import java.awt.event.*;
import javax.swing.*;
class MouseTest{
     public MouseTest(){	 
          JFrame f = new JFrame();
          f.setSize(400, 400);
          JPanel p = new JPanel();
          p.addMouseMotionListener(new MouseMotionListener() {
        	  @Override public void mouseDragged(MouseEvent evt){}
        	  @Override public void mouseMoved(MouseEvent evt){
        		  System.out.println("Mouse moved");
        	  }
          });
          f.add(p);
          f.setVisible(true);
     }
     public static void main(String args[]){
          new MouseTest();
     }
}

Das geht auch mit JFrame!
 
Es kommt keine Fehlermeldung es passiert einfach nichts, der MouseListener wird nicht ausgeführt sonst käme ja der text auf der Konsole, steht auch schon oben.

Es sollte zwra selbsterklärend sein aber hier hast du Code:
Java:
frame = new JFrame();
		frame.addMouseMotionListener(new MouseMotionListener() {
			
			@Override
			public void mouseMoved(MouseEvent e) {
				System.out.println("test ich bin ein Frame");
			}
			
			@Override
			public void mouseDragged(MouseEvent e) {
				// TODO Auto-generated method stub
				
			}
		});

Aber ich denke es geht auch etwas umständlicher, wenn ich einfach jedem Panel so einen Listener gäbe springt der nämlich automatisch an.
Klappt zwar wie gesagt nicht mit JFrame aber so wirds wohl auch gehen.
 
Vielleicht verwendest du eine frühere Java-Version und es funktioniert
Java:
frame.getContentPane().addMouseMotionListener
ansonsten vermute ich ein Problem mit deiner IDE.
 
Zuletzt bearbeitet:
Ich habe gerade einfach ein anderes Programm testweise geschrieben, da funktioniert es.
Es funktioniert also nur in unserem Programm nicht, weiß zwr nicht was das verhindert aber gut.

Danke für die Hinweise.
 

Neue Themen


Zurück
Oben