Ich versuche, das Bild über eine Leinwand zu bewegen.wait() und Thread.sleep() Nicht arbeiten
import java.awt.*; class GraphicsProgram extends Canvas{
static int up = 0;
public GraphicsProgram(){
setSize(700, 700);
setBackground(Color.white);
}
public static void main(String[] argS){
//GraphicsProgram class is now a type of canvas
//since it extends the Canvas class
//lets instantiate it
GraphicsProgram GP = new GraphicsProgram();
//create a new frame to which we will add a canvas
Frame aFrame = new Frame();
aFrame.setSize(700, 700);
//add the canvas
aFrame.add(GP);
aFrame.setVisible(true);
}
public void paint(Graphics g){
Image img1 = Toolkit.getDefaultToolkit().getImage("Code.jpg");
g.drawImage(img1, up, up, this); }
public void Move() { up = up + 1; Move();
Thread.sleep(2000);
}
}
Die Konsole kehrt dann
GraphicsProgram.java:43: error: unreported exception InterruptedException; must be caught or declared to be thrown Thread.sleep(2000); ^1 error
Ich kann wirklich nicht verstehen, warum meine Thread.sleep()
nicht funktioniert, wie ich es gesucht und das ist genau das, was sie setzen.
' "Ich kann wirklich nicht verstehen, warum meine Thread.sleep() nicht funktioniert, da ich sie durchsucht habe und genau das haben sie getan." - Bitte zeigen Sie hier einen Link zu einer hoch bewerteten Antwort, die einen Thread setzt .schlaf in der Mitte einer Malmethode. Die Lösung, die Sie brauchen, ist ein Swing Timer, nicht 'Thread.sleep'. –
https://docs.oracle.com/javase/tutorial/essential/exceptions/catchOrDeclare.html – shmosel