JFrame invisible en java | Curso De Programacion Java Developer Free Courses Online
lindas bebes
jueves, 25 de septiembre de 2014

JFrame invisible en java

programando programando ando :) jejeje asi como lo dice el titulo es un JFrame que no tiene el boton ó la x de cerrar la ventana, tampoco de minimizarla ó maximizarla y tampoco tiene un panel que lo soporte solo mostrare una letra de colores sin un tapiz por asi decirlo, se los mostrare como se ve en la siguiente imagen:

como vemos la imagen es invisible muestra solo las letras, yo personalmente lo utilizo para mostrar un mensajito en mis programas ,tipo licencia o de verificacion , este mensaje  no lo puede cerrar el usuario quiere decir que no se puede cerrar ,debemos crear un metodo que en cierto tiempo lo cerremos para no molestar al usuario, podemos hacer un hilo o una espera de tiempo para poder cerrarlo mas abajo le enseño como cerrar esa ventana, pero primero el codigo de la aplicacion primero creo una clase llamada mensaje , luego cambio el valor de la clase por un extends JFrame:


public class mensaje extends JFrame{
bueno aqui les dejo todo el codigo:

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.lang.reflect.Method;
import javax.swing.*;

/**
 *
 * @author andres2288
 */
public class mensaje extends JFrame{
    
      public mensaje(){
  
  setLayout(new FlowLayout());
  
 JLabel ltitulo1=new JLabel("andres2288");
  JLabel ltitulo2=new JLabel("copyright ® 2014");
   JLabel l3=new JLabel(":)");
  ltitulo1.setFont(new Font("Verdana",Font.BOLD,40));
  ltitulo2.setFont(new Font("Verdana",Font.BOLD,40));
    l3.setFont(new Font("Verdana",Font.BOLD,40));
  ltitulo2.setForeground(Color.ORANGE);
  l3.setForeground(Color.RED);
  add(ltitulo1);
  add(ltitulo2);
    add(l3);

 }
      
      public void mostrar_mensaje(){
     mensaje p= new mensaje();
   p.setUndecorated(true);
  p.setVisible(true);
  p.setBounds(0,0,500,150);
  p.setLocationRelativeTo(null);
   try {
      UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
       SwingUtilities.updateComponentTreeUI(p);
      } catch (ClassNotFoundException e) {
          System.out.println("error1"+e.getMessage());
       e.printStackTrace();
      } catch (InstantiationException e) {
             
       e.printStackTrace();
         System.out.println("error2"+e.getMessage());
      } catch (IllegalAccessException e) {
             
       e.printStackTrace();
         System.out.println("error3"+e.getMessage());
      } catch (UnsupportedLookAndFeelException e) {
          
       e.printStackTrace();
            System.out.println("error4"+e.getMessage());
      }
  try {
         Class clazz =  Class.forName("com.sun.awt.AWTUtilities");
         Method method = clazz.getMethod("setWindowOpaque", java.awt.Window.class, Boolean.TYPE);
        method.invoke(clazz,p , false);
      } catch (Exception e) {
               System.out.println("error5"+e.getMessage());
            e.printStackTrace();
      }
    }
       public static void main(String[] args) {
           mensaje msn= new mensaje();
           msn.mostrar_mensaje();
       }
    
}




solo pegar y ejecutar solo podremos cerrar desde la plataforma donde estemos trabajando para cerrarlo solo llamamos los 2 siguientes metodos sabiendo ó mejor dicho tomamos la clase msn y llamamos los metodos:




msn.setEnabled(false);
     msn.hide();
eso es todo :)

No hay comentarios:

 
;