Java controla la creacion de ventanas desde los applet para evitar engañar al usuario, pero estas restriciones pueden ser esquivadas con algunas trampas y asi crear ventanas desde los applet simulando ser aplicaciones propias del sistema operativo, engañar al suario y llevar a cabo acciones "maliciosas" o simplemente causarles un gran susto :)
En este ejemplo, se simula mediante la creacion de un objeto "window", la clasica "pantalla azul de la muerte" del sistema operativo windows, que bien podria engañar a un "usuario promedio" que navega por internet, este metodo, tambien podria usarse por ejemplo para engañar al usuario para "obtener contraseñas", "obtener datos del usuario", "meterle algun malware", etc, aprovechando la ingenuidad de la mayoria de las personas que navega por internet (ingenieria social). pero es solo un ejemplo, no lo hagan :) estan avisados ;)
Pantalla azul de la muerte desde java
Para crear esta pantalla, se crea primeramente una ventana sin bordes utilizando la clase Window de java, se añade los objetos necesarios, el tamaño que debe tomar este applet debe ser del
tamaño de toda la pantalla, asi se oculta un pequeño mensaje que crea java para avisar de que esta ventana proviene de un applet
El codigo para el WINDOW:
import java.awt.Color;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.Window;
import javax.swing.JLabel;
/**
* @web http://jc-mouse.blogspot.com/
* @author Mouse
*/
public class MyWindow extends Window{
public MyWindow(Frame padre){
//Se invoca un constructor de la clase padre
super(padre);
//se da un tamaño a la nueva ventana sin bordes "window"
this.setSize(300,200);
// se otorga la posicon respecto a la pantalla
this.setLocation(400,200);
// ahora se añaden algunos objetos
Panel p = new Panel();
p.setBackground(new Color(0,0,255));
JLabel lb = new JLabel("<html>Hola Mundo<br>Esta es una ventana sin bordes<br>desde un applet</html>");
lb.setForeground(new Color(0,255,0));
p.add(lb);
// ahora estos objetos se añaden al objeto window
add("Center",p);
}
}
Para llamar a esta clase desde un applet:
Frame miFrame = new Frame();
MyWindow m = new MyWindow(miFrame);
m.show();
El video para una mejor comprension de lo que se intenta lograr
Y no podia faltar el codigo fuente.
2 comentarios:
Esta genial! Tienes las mismas ideas curiosas que yo. Solo que tu sabes llevarlas acabo. Enhorabuena por currarte este sitio tan majo.
Saludos!
Sinceramente odio desarrollar en lenguaje java cualquier cosa, creo que desde que lo aprendí, no le agarre el gusto, pero bueno esto es genial viéndolo así.
Otra vez que buen blog
Publicar un comentario