20
2011
Formulario transparente en java | Robot

La clase Robot de java nos permite simular acciones que hacen las personas tanto con el teclado como con el ratón, podemos “tomar el control” del equipo con acciones como pueden ser mover el ratón, presionar teclas, etc.
En este ejemplo vamos a utilizar la clase Robot para hacer un Jpanel transparente, con el código siguiente podremos realizar nuestro primer formulario transparente en java .
¿Cómo hacer un formulario transparente en java?
Como hemos comentado anteriormente con la clase Robot podemos presionar las teclas de nuestro teclado, en este caso vamos a presionar la tecla imprimir pantalla (capturar pantalla) utilizando el siguiente método “createScreenCapture()” en el que le pasaremos el ancho y el alto de la captura.
El código completo para hacer el formulario transparente sería así:
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 | import javax.swing.*; import java.awt.*; public class Transparente extends JComponent { private Image background; public Transparente(JFrame frame) { updateBackground( ); } public void updateBackground( ) { try { Robot robot = new Robot( ); Toolkit tk = Toolkit.getDefaultToolkit( ); Dimension dim = tk.getScreenSize( ); background = robot.createScreenCapture( new Rectangle(0,0,(int)dim.getWidth( ), (int)dim.getHeight( ))); } catch (Exception ex) { ex.printStackTrace( ); } } public void paintComponent(Graphics g) { Point pos = this.getLocationOnScreen( ); Point offset = new Point(-pos.x,-pos.y); g.drawImage(background,offset.x,offset.y,null); } public static void main(String[] args) { JFrame frame = new JFrame("Transparente"); Transparente bg = new Transparente(frame); bg.setLayout(new BorderLayout()); frame.getContentPane( ).add("Center",bg); frame.setSize(600, 600); frame.setVisible(true); } } |
En este caso, cuando cambias el tamaño del formulario se vuelve a ejecutar el método updateBackground(), de este modo el programa vuelve a realizar un “imprimir pantalla” que mostrará de nuevo con las nuevas medidas de ancho o alto.
Sin embargo, si solo mueves el formulario podrás ver que no realiza de nuevo el updateBackground() y dejará tu primera imagen como fondo del formulario, ahora no parecerá transparente.
En el caso de que necesites un formulario que ocupe toda la pantalla puedes utilizar el siguiente código.
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 | import javax.swing.*; import java.awt.*; public class Transparente extends JComponent { private Image background; public Transparente(JFrame frame) { updateBackground( ); } public void updateBackground( ) { try { Robot robot = new Robot( ); Toolkit tk = Toolkit.getDefaultToolkit( ); Dimension dim = tk.getScreenSize( ); background = robot.createScreenCapture( new Rectangle(0,0,(int)dim.getWidth( ), (int)dim.getHeight( ))); } catch (Exception ex) { ex.printStackTrace( ); } } public void paintComponent(Graphics g) { Point pos = this.getLocationOnScreen( ); Point offset = new Point(-pos.x,-pos.y); g.drawImage(background,offset.x,offset.y,null); } public static void main(String[] args) { JFrame frame = new JFrame("Transparente"); Transparente bg = new Transparente(frame); bg.setLayout(new BorderLayout()); frame.getContentPane( ).add("Center",bg); frame.setUndecorated(true); frame.setSize(Toolkit.getDefaultToolkit().getScreenSize()); frame.setVisible(true); } } |
Artículos relacionados
Related Posts
1 Comment + Add Comment
Leave a comment
Encuéntralo aquí
Entradas recientes
- Toolbar to Share
- Toolbar to Share | WordPress
- Mostrar una imagen desde un Java Bean en Forms
- Modificar temas de WordPress
- Popup to Share | Plugin para wordpress
- Gestión Documental y Captura de Documentos en JAVA y sobre Oracle
- Insertar botones de Twitter en tu página
- Crear plugins para WordPress
- Integrar Eclipse y Android
- Desposicionar con enlaces a la competencia
- Suma de números de una lista en Java
- Instalar Ubuntu utilizando Wibu
- Expresiones Regulares. Ejemplos
- Operadores en Google | Busquedas personalizadas
- Oracle REGEXP Funciones
Recientes
- Roul: En mi caso, sobre la versión 2.4 corre perfectamente. ¿Qué versión tienes? ¿Qué error te muestra?
- Eliez: Hola amigo una pregunta corri el codigo y no me causo problemas pero al momento de hacer el instaldor lo hace...
- Diseño de Pagina Web: Muy buenoooo!!!!! Recicler comment
- Albert: Gracias por contestar, la verdad es que ya lo suponía que seria ese el problema, supongo que si el otro...
- MMane: El problema puede venir por ahí, prueba a reescribir los artículos! suerte!
Categorías
- Android (3)
- Bases de datos (67)
- Data Mining (2)
- MySql (2)
- Oracle (57)
- SGBD (4)
- Cajon desastre (4)
- Consolas (5)
- Desarrollo web (51)
- Blogger (1)
- Google Maps (2)
- SEO (9)
- Wordpress (16)
- Ensamblador (13)
- Codigo (7)
- Facebook (API) (12)
- Adsense (1)
- Aplicación Test (1)
- Conectar con Facebook (3)
- Facebook en Español (2)
- Publicar Facebook (4)
- Flash (1)
- Flex (1)
- Forms (1)
- Hardware (16)
- Arquitectura (1)
- Iphone (5)
- Java (17)
- JavaScript (16)
- Php (8)
- Proyectos Programación (8)
- Redes (4)
- Software (21)
- Ubuntu (4)
- Vb.net (4)
- Windows (1)
- XML (5)
Información Bitacoras.com…
Valora en Bitacoras.com: Código Java Oracle – La clase Robot de java nos permite simular acciones que hacen las personas tanto con el teclado como con el ratón, podemos “tomar el control” del equipo con acciones como pueden ser mover el ratón,……