Hallo,
ich hätte gerne, dass sich ein JLabel mit einem Icon langsam über den Bildschirm bewegt, leider bewegt es sich nicht, sondern wird einfach da hin teleportiert. Ich habe es mit einem Timer versucht, das funktioniert leider nicht...
Hier der Code:
Vielen Dank für die Hilfe, vor allem über konkrete Verbesserungsvorschläge und Code-Änderungen würde ich mich freuen!
ich hätte gerne, dass sich ein JLabel mit einem Icon langsam über den Bildschirm bewegt, leider bewegt es sich nicht, sondern wird einfach da hin teleportiert. Ich habe es mit einem Timer versucht, das funktioniert leider nicht...
Hier der Code:
Java:
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;
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);
}
void Schuss() {
time = new Timer();
while(patrone[4].getX() <= 400) {
time.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
patrone[4].setLocation(patrone[4].getX()+3,patrone[4].getY()-1);
patrone[4].repaint();
}
}, 0, 9);
}
}
void Laden() {
}
}
Vielen Dank für die Hilfe, vor allem über konkrete Verbesserungsvorschläge und Code-Änderungen würde ich mich freuen!