Ich fragte mich gerade, wie ich Knöpfe in Java manipulieren könnte, um einen springenden Ball zu stoppen, und dann zu starten. Ich habe versucht, eine if else-Anweisung mit einem Befehl zum Starten des Threads und einem Befehl zum Stoppen zu schreiben. Das hat jedoch nicht funktioniert. Könnte mir vielleicht jemand helfen? Hier ist mein Code:wie zu stoppen und starten springenden Ball in Java
package javaapplication1;
import java.awt.*;
import java.applet.*;
import java.applet.Applet;
import java.awt.event.*;
public class BouncingBallOriginal extends Applet implements Runnable, ActionListener
{
Thread t=new Thread(this); /* declare and initialize a new thread */
int x = 0;
int y = 0;
\t
int countX = 0;
int countY = 0;
Button button1; //space bar
Button button2;
public void init()
{
setSize(600,350);
t.start(); /* starts the thread */
\t
setBackground(Color.blue);
button1 = new Button("Button 1");
add(button1);
button1.addActionListener(this);
button2 = new Button("Button 2");
add(button2);
button2.addActionListener(this);
}
private void incrementX() { x += 10; }
private void decrementX() { x -= 10; }
private void incrementY() { y += 10; }
private void decrementY() { y -= 10; }
\t
public void run()
{
try
{
for(int i = 1; i > 0; i++)
{
Thread.sleep(200);
repaint();
}
}
catch(InterruptedException e)
{
//do nothing!
}
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == button1)
{
System.out.println("Button 1 was pressed");
} \t
else
{
System.out.println("Button 2 was pressed");
} \t \t
}
public void paint(Graphics g)
{
g.setColor(Color.yellow);
g.fillOval(x, y, 20, 20);
if(countX< (getSize().width/10) - 1)
{
incrementX();
countX++;
}
if(countX >= (getSize().width/10) - 1)
{
decrementX();
countX++;
}
if(countX >= (getSize().width/5) - 2)
{
countX=0;
}
if(countY < (getSize().height/10) - 1)
{
incrementY();
countY++;
}
if(countY >= (getSize().height/10) - 1)
{
decrementY();
countY++;
}
if(countY >= (getSize().height/5) - 2)
{
countY=0;
}
}
}
duplizieren? http://stackoverflow.com/questions/16758346/how-pause-and-then-resume-a-thread – rleir