Java - Posible problema de parpadeo de imagen

 
Vista:
sin imagen de perfil
Val: 25
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Posible problema de parpadeo de imagen

Publicado por manuel (13 intervenciones) el 24/06/2018 03:51:07
Hola , hace mucho no participo en el foro y soy relativamente nuevo en esto

La idea de mi programa es que el usuario vea el Jframe vacio(por defecto) de un clic en un lugar cualquiera, en este instante se va a hacer visible una imagen de un mapa, se capture el color del pixel donde se dio clic y luego la imagen del mapa otra vez sea invisible.

La idea del cometido es que el usuario no alcance a percibir que existe un mapa, sin embargo por cuestiones del tiempo de ejecución si se alcanza a ver en el proceso Invisible->visible->Invisible, creo que este problema es de parpadeo, es una suposicion y no estoy seguro de que sea esto.

El comando que estoy usando para actualizar el panel llamado milamina es milamina.paintAll(milamina.getGraphics());


El Codigo es:

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
public class lamina extends JPanel {
 
	public JButton mapa = new JButton();
	marco mimarco;
 
	public lamina(marco mimarco)
	{
		this.mimarco=mimarco;
		// Referencia
		JButton referencia = new JButton("");
		referencia.setBounds(0, 0, 800, 600);
		referencia.setBorderPainted(false);
		referencia.setContentAreaFilled(false);
		add(referencia);
		referencia.addMouseListener(new eventosderaton(mapa,this));
 
		//Mapa
		mapa.setBounds(0, 0, 530, 700);
		mapa.setContentAreaFilled(false);
		mapa.setBorderPainted(false);
		mapa.setVisible(false);
		mapa.setIcon(new ImageIcon("Imagen.png"));
		add(mapa);
 
	}
 
}




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
public class eventosderaton extends MouseAdapter{
	Color coloract;
	JButton mapa;
	lamina milamina;
 
	eventosderaton(JButton  mapa,lamina milamina)
	{
		this.mapa=mapa;
		this.milamina=milamina;
	}
 
	public void mousePressed(MouseEvent e)
	{
		mapa.setVisible(true);
		milamina.paintAll(milamina.getGraphics());
 
		try {
 
			coloract= new Robot().getPixelColor(e.getXOnScreen(), e.getYOnScreen());
			mapa.setVisible(false);
			milamina.paintAll(milamina.getGraphics());
			System.out.println("X:  "+e.getXOnScreen()+"  Y: "+e.getYOnScreen());
			System.out.println(coloract.getRed()+"  "+coloract.getGreen()+"  "+coloract.getBlue());
			if(coloract.getRed()==255 && coloract.getGreen()==0 && coloract.getBlue()==0)
			{
				System.out.println("Esto es guajira");
			}
        } catch (AWTException c) {
            c.printStackTrace();
        }
 
	}
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Posible problema de parpadeo de imagen

Publicado por Tom (1831 intervenciones) el 24/06/2018 08:37:08
¿ Por qué quieres hacer algo así ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 25
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Posible problema de parpadeo de imagen

Publicado por manuel (13 intervenciones) el 24/06/2018 16:50:33
Imagina que tengo una imagen png, con partes transparentes y solidas, y hago una mascara sobre la parte solida con un color X.
Luego si hago clic sobre una parte cualquiera del marco, obtengo el color del pixel donde di clic, si este color resulta ser el color X entonces se que estoy sobre mi imagen, si por alguna razon estoy entre los limites y di clic en la parte transparente no va a pasar nada.
Esto es un desarrollo a una solucion a la accion a desencadenar cuando se de clic sobre una imagen, se que se puede hacer algo con mouseclicked para saber que objeto presione y asi desencadenar una accion, el problema es que aqui tambien me identifica la parte transparente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Posible problema de parpadeo de imagen

Publicado por Tom (1831 intervenciones) el 24/06/2018 19:16:54
Bueno, me refería a para qué visualizas una imagen si no quieres que se haga visible.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 25
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Posible problema de parpadeo de imagen

Publicado por manuel (13 intervenciones) el 25/06/2018 04:26:04
Porque al visualizar esta imagen puedo acceder a informacion de esta con el metodo getPixelColor, de forma que si no es visible no podria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 25
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Posible problema de parpadeo de imagen

Publicado por manuel (13 intervenciones) el 26/06/2018 01:08:50
Gracias tom, con el metodo getRGB de esta clase ya creo poder hacer lo que queria y de una manera mas elegante, desconocia por completo esto, estoy muy agradecido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar