G
Gast2
Gast
Hallo zusammen,
warum muss ich wenn ich bei einem Panel die processMouseEvent überschreib erst einen Listener adden, damit die Methode überhaupt anspringt siehe Konstrutkor desTestpanels, ohne dieses add wird nie die Ausgabe kommen.
warum muss ich wenn ich bei einem Panel die processMouseEvent überschreib erst einen Listener adden, damit die Methode überhaupt anspringt siehe Konstrutkor desTestpanels, ohne dieses add wird nie die Ausgabe kommen.
Java:
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.geom.Line2D;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class TestFrame extends JFrame {
public TestFrame() {
super("test");
add(new Testpanel(), BorderLayout.CENTER);
setSize(400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static class Testpanel extends JPanel {
public Testpanel() {
addMouseListener(new MouseAdapter() {
});
}
@Override
protected void processMouseEvent(MouseEvent e) {
super.processMouseEvent(e);
if (e.getID() == MouseEvent.MOUSE_PRESSED) {
System.out.println("hier");
}
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
TestFrame testFrame = new TestFrame();
testFrame.setVisible(true);
}
});
}
}