Foros del Web » Programación para mayores de 30 ;) » Java »

repaint + caracteres

Estas en el tema de repaint + caracteres en el foro de Java en Foros del Web. Un saludo a todos los que andamos por estos lados. Bueno, les vengo a plantear un par de dudas que me frenan algo para un ...
  #1 (permalink)  
Antiguo 20/03/2005, 13:54
Eul
 
Fecha de Ingreso: marzo-2005
Mensajes: 3
Antigüedad: 19 años, 1 mes
Puntos: 0
Pregunta repaint + caracteres

Un saludo a todos los que andamos por estos lados.
Bueno, les vengo a plantear un par de dudas que me frenan algo para un programa, que son las sgts:
1. Deseo utilizar el método repaint() en un botón, de forma tal que borre lo que tiene el JPanel actualmente, pero me permita ver una figura en una nueva posición, palabras menos, un boton de "movimiento" (borra lo anterior, dibuja una nueva...) pero cada que hundo el botón, este me muestra la figura... como por 3 milisegundos o menos (no me he puesto a detallarlo bien), el caso es que quiero saber como usarlo sin que me borre automaticamente la figura que vuelve a dibujar , y ya intente ponerlo tanto al inicio como al final de la clase interna del botón, entonces no se si me falta otro metodo o que será...
2. Para mejorar este programa, deseo darle movimiento si presionás las teclas de dirección, pero no se como decirle esto al PC. (supongo que entra con el readLine() o un método para un solo caracter, pero como se distinguen estos, ¿por ASCII o alguna clave en particular?)
De antemano agradezco la ayuda
Eul
  #2 (permalink)  
Antiguo 27/03/2005, 11:13
Eul
 
Fecha de Ingreso: marzo-2005
Mensajes: 3
Antigüedad: 19 años, 1 mes
Puntos: 0
Hola a todos.
Como por lo visto no me entendieron la pregunta, les envio los metodos para que la comprendan:

public class Movbas extends JFrame{
Button Mover,Salir;
JPanel Lienzo,Formul;
int i=0,j=0;
int x=(int)(Math.random()*(100));
int y=(int)(Math.random()*(100));
int mx=(200-x)/20;
int my=(200-y)/20;
public class movete
implements ActionListener{
public void actionPerformed (ActionEvent m){
if(i>mx){
x= x-20;
}
else{
if(x<=200){
x= x+20;
i++;
}
}
if(j>my){
y= y-20;
}
else{
if(y<=200){
y= y+20;
j++;
}
}
if(x<0||y<0){
Mover.setEnabled(false);
}
repaint(x-20,y-20,20,20);
}
}
public void paint(Graphics g1){
g1=Lienzo.getGraphics();
g1.setColor(Color.RED);
g1.fillOval(x,y,20,20);
}
Lo que necesito es que se visualize el ovalo, y borre el anterior, ¿alguien sabe como se hace o si la estoy embarrando?
EUL
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:01.