Guten Tag,
ich habe mal wieder eine Frage, bei der ich hier hoffentlich Hilfe erhalten kann.
Und zwar habe ich ein Problem bei der gleichzeitigen Nutzung eines Mouse- und Keylisteners.
Der Mauslistener läuft über ein Objekt des Typs JPanel, der KeyListener über ein JFrame.
Starte ich das Programm, so funktioniert alles wunderbar. Sobald ich jedoch ein auf einen JButton klicke, dem ein ActionListener zugeordnet ist, in dem jedoch keinerlei Funktionen aufgerufen werden, läuft nur noch der MouseListener- drücke ich dagegen Tasten derTastatur, passiert gar nichts.
Hier ein Codeauszug (Sprache: Java):
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
|
private JFrame frmLeveleditor;
JPanel drawingPanel = null; JFileChooser fc = new JFileChooser();
frmLeveleditor = new JFrame(); frmLeveleditor.setTitle("Leveleditor"); frmLeveleditor.setBounds(100, 100, 1080, 720); frmLeveleditor.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frmLeveleditor.getContentPane().setLayout(null); frmLeveleditor.setFocusable(true);
drawingPanel = new JPanel(); drawingPanel.setBounds(0, 61, 1064, 620); frmLeveleditor.getContentPane().add(drawingPanel); drawingPanel.addMouseListener(new MouseAdapter(){ @Override
public void mouseClicked(MouseEvent e) { int returnVal = fc.showOpenDialog(null); File file = null; if (returnVal == JFileChooser.APPROVE_OPTION) { file = fc.getSelectedFile(); System.out.println("File: " + file.getAbsolutePath() + "."); } else { System.out.println("Filedialog vom Benutzer unterbrochen."); } }
});
frmLeveleditor.addKeyListener(new KeyListener(){ @Override
public void keyPressed(KeyEvent k) { } [...]
|
Ich habe echt schon sehr viel selbst rumprobiert, und auch lange im Internet rumgesucht, bin jedoch bisher auf keine Lösung gekommen.
Was mache ich falsch?
Über Antworten würde ich mich freuen.
Viele Grüße,
NJeur
Edit: Im Quelltext werden die Zeilenumbrüche irgendwie automatisch entfernt- wie halte ich das lesbar?