Also, folgendes Problem:
Ich habe ein JFrame.
Dem füge ich Listener hinzu
So weit, so gut. Es funktioniert alles. Der MouseListener feurert, wenn ich auf das JFrame klicke
Folgendes geht nicht:
In dem Objekt world wird nichts gemacht außer:
bevor das JPanel hinzugefügt wird. Ich starte keine Threads, halte den AWT-Thread nicht auf usw.
Allerdings funktioniert das event nicht mehr, sobald auf dem JFrame das JPanel liegt, dass das Canvas beinhaltet
Wieso?
edit: Problem gelöst.
Der KeyListener muss auf dem Canvas sein, nicht auf dem jpanel
Ich habe ein JFrame.
Dem füge ich Listener hinzu
Java:
JFrame frame = new JFrame();
frame.setSize(800, 800);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent evt)
{
System.out.println("MP");
}
});
frame.setContentPane(new JPanel());
frame.setVisible(true);
So weit, so gut. Es funktioniert alles. Der MouseListener feurert, wenn ich auf das JFrame klicke
Folgendes geht nicht:
Java:
JFrame frame = new JFrame();
frame.setSize(800, 800);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent evt)
{
System.out.println("MP");
}
});
frame.setContentPane(world.getPanel());
frame.setVisible(true);
In dem Objekt world wird nichts gemacht außer:
Java:
paper = new Canvas();
paper.setIgnoreRepaint( true );
log.log("Constructor called with width "+size.getWidth()+" / and height: "+size.getHeight());
paper.setSize( new java.awt.Dimension(size.getWidth(),size.getHeight()) );
jpanel = new JPanel();
jpanel.setSize(new java.awt.Dimension(size.getWidth(),size.getHeight()));
jpanel.add(paper);
bevor das JPanel hinzugefügt wird. Ich starte keine Threads, halte den AWT-Thread nicht auf usw.
Allerdings funktioniert das event nicht mehr, sobald auf dem JFrame das JPanel liegt, dass das Canvas beinhaltet
Wieso?
edit: Problem gelöst.
Der KeyListener muss auf dem Canvas sein, nicht auf dem jpanel
Zuletzt bearbeitet: