mover letra en applet
Publicado por Charly (118 intervenciones) el 13/11/2017 17:22:44
Tengo que crear un applet que mueva una letra horizontalmente y que rebote en las paredes, y un botón para parar el hilo o reanudarlo.
He creado el applet y la letra en la posición que debe empezar, y el botón, pero no se cómo hacer lo del movimiento hacia derecha, o izquierda en su momento. Este es el código que he hecho:
He creado el applet y la letra en la posición que debe empezar, y el botón, pero no se cómo hacer lo del movimiento hacia derecha, o izquierda en su momento. Este es el código que he hecho:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import java.applet.Applet;
import java.awt.Button;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Ejercicio2_1 extends Applet implements Runnable,ActionListener{
private Thread h;
private boolean parar;
private Font fuente;
private Button b1;
private String letra="C";
public void start(){
}
public void init(){
setBackground(Color.BLUE);
add(b1=new Button("Iniciar hilo"));
b1.addActionListener(this);
fuente=new Font("Verdana",Font.BOLD,26);
}
public void run(){
parar=false;
Thread hiloActual=Thread.currentThread();
while(h==hiloActual&&!parar){
try{
Thread.sleep(300);
}catch(InterruptedException e){
e.printStackTrace();
}
repaint();
}
}
public void paint(Graphics g){
g.clearRect(0,0,400,400);
g.setFont(fuente);
g.drawString(letra,1,100);
}
public void actionPerformed(ActionEvent e){
b1.setLabel("Finalizar Hilo");
if(e.getSource()==b1){
if(h!=null&&h.isAlive()){
b1.setLabel("Finalizar Hilo");
}else{
h=new Thread(this);
h.start();
}
}else{
parar=true;
b1.setLabel("Reanudar Hilo");
}
}
public void stop(){
h=null;
}
}
Valora esta pregunta


0