Hallo,
ich habe 2 Klassen: In der ersten werden JLabels erzeugt, die durch eine Methode bewegt werden sollen. Die zweite Klasse implementiert den MouseListner und wurde auch als dieser verzeichnet, leider bekomme ich es aber nicht hin, die
Methode auszuführen.
Vielen Dank für die Hilfe!
ich habe 2 Klassen: In der ersten werden JLabels erzeugt, die durch eine Methode bewegt werden sollen. Die zweite Klasse implementiert den MouseListner und wurde auch als dieser verzeichnet, leider bekomme ich es aber nicht hin, die
Code:
Schuss();
Code:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import java.util.Timer;
import javax.swing.*;
public class Munition {
private JLabel patrone[] = new JLabel[5];
private int breite = 10, höhe = 610;
private JButton schuss;
private Timer time;
public Munition() {
createPatrone();
}
void createPatrone() {
for(int i = 0; i < 5;i++) {
Icon icon = new ImageIcon("rsc/shotpat.png");
patrone[i] = new JLabel(icon);
patrone[i].setBounds(breite,höhe,20,60);
patrone[i].setVisible(true);
Gui.panel.add(patrone[i]);
breite += 30;
}
schuss = new JButton("SCHIEßEN");
schuss.setBounds(500,570,100,50);
schuss.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Schuss();
}
});
schuss.setVisible(true);
Gui.panel.add(schuss);
}
public void Schuss() {
time = new Timer();
time.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
if (patrone[4].getX() < 450) {
patrone[4].setLocation(patrone[4].getX() + 3, patrone[4].getY() - 1);
} else {
time.cancel();
}
}
});
}
}, 0, 9);
}
void Laden() {
}
}
Java:
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class MouseListner implements MouseListener {
@Override
public void mouseClicked(MouseEvent arg0) {
System.out.println("click"); //Das funktioniert, es liegt also nicht daran, dass ich den MousListner nicht richtig eingefügt habe.
//Hier sollte die Schuss()-Methode ausgeführt werden
}
@Override
public void mouseEntered(MouseEvent arg0) {
}
@Override
public void mouseExited(MouseEvent arg0) {
}
@Override
public void mousePressed(MouseEvent arg0) {
}
@Override
public void mouseReleased(MouseEvent arg0) {
}
}
Vielen Dank für die Hilfe!