Seguidores

MIS WEBS



domingo, 25 de marzo de 2018

Ejercicio con Layout Libre parte 1


Como hacer un Layout Libre

¿Qué son los Layout libre?

Son aquellos diseños de aplicación grafica que decidimos crear por nuestra cuenta. Nos salimos de las disposiciones por defecto:

¿Cómo creamos los Layouts libres?


                Para generar un Layout libre lo estableceremos como nulo y luego iremos estableciendo el tamaño de las láminas a mano utilizando setBounds(int,int,int,int).

Ejercicio con Layouts libres
En el siguiente ejercicio voy a crear una lámina con fondo negro sobre la que voy a disponer mis diferentes láminas. En la parte superior un menú. En el lateral izquierdo pondremos 3 láminas una con un grupo de RadioButton, otra con JComboBox que cargaré un array de String. Otra con un conjunto de botones, cada una de las láminas tendrá una línea perimetral y un título. Como siempre voy a cumulando todo lo aprendido en mis apunte en pdf.









import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;
public class practicaCreadorDeMensajes {

       public static void main(String[] args) {
            
            
             Marco_practicaCreadorDeMensajes Marco = new  Marco_practicaCreadorDeMensajes();
             Marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             Marco.setVisible(true);
             Marco.setExtendedState(JFrame.MAXIMIZED_BOTH);
             //Marco.setBounds(100, 100, 700, 500);
            
       }

}

class Marco_practicaCreadorDeMensajes extends JFrame{
      
       public Marco_practicaCreadorDeMensajes() {
            
             setTitle("CREADOR DE MENSAJES");
            
             Lamina_PrincipaldelMarco PRINCIPAL = new Lamina_PrincipaldelMarco();
                    Lamina_TipoMensaje TipoBotones = new Lamina_TipoMensaje();
                    Lamina_IconoSleccionado Seleccion = new Lamina_IconoSleccionado();
                    Lamina_TipoMensajeConfirmacion Confirmacion = new Lamina_TipoMensajeConfirmacion();
                    Lamina_Menu_Superior Menu = new Lamina_Menu_Superior();
                   
            
             PRINCIPAL.setLayout(null);
            
                    PRINCIPAL.add(Menu);
                    PRINCIPAL.add(TipoBotones);
                    PRINCIPAL.add(Seleccion);
                    PRINCIPAL.add(Confirmacion);

            
             add(PRINCIPAL);
            
        }
      
   }
class Lamina_Menu_Superior extends JPanel{
        public Lamina_Menu_Superior() {
                    setBackground(Color.DARK_GRAY);
                    setBounds(10,10,1340,35);
                    //setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(Color.BLACK, Color.RED),"TIPO DE MENSAJE"));
                                  BarraDelMenu = new JMenuBar();
                          
                                 
                                 
                   
                      BarraDelMenu.add(Inicio=new JMenu("INICIO"));
                                      Inicio.add(Salir = new JMenuItem("Salir"));


                            BarraDelMenu.add(TipMensaje = new JMenu("TIPO MENSAJE"));
                  TipMensaje.add(ENT_DATOS =new JMenuItem("ENTRADA DATOS POR CONSOLA"));
                  TipMensaje.add(MENSAJE =              new JMenuItem("MENSAJES"));
                  TipMensaje.add(COFIRMACI =      new JMenuItem("MENSAJE ESTANDAR "));
                  TipMensaje.add(OPCIONES =       new JMenuItem("MENSAJE OPCIONES "));

                            BarraDelMenu.add(SubTipo = new JMenu("SUB TIPO MENSAJE"));
                            SubTipo.add(ERROR =  new JMenuItem("ERROR"));
                            SubTipo.add(PELIGRO =    new JMenuItem("PELIGRO"));
                            SubTipo.add(INFORMACIONnew JMenuItem("INFORMACION"));
                            SubTipo.add(NAnew JMenuItem("PORDEFECTO"));
                                                       
                BarraDelMenu.add(BotConfirmacion = new JMenu("MENSAJE CONFIRMACIÓN"));  
                                                                                                           BotConfirmacion.add(PORDEFECTO =new JMenuItem("PORDEFECTO"));
                 BotConfirmacion.add(SiNO =         new JMenuItem("SI / NO"));
                 BotConfirmacion.add(SICANCELAR =   new JMenuItem("SI / CANCELAR"));
                 BotConfirmacion.add(SINOCANCELARnew JMenuItem("SI / NO / CANCELAR"));
                                                             
                    add(BarraDelMenu);
        }
        
       private JMenu Inicio,TipMensaje,SubTipo,BotConfirmacion,CargaJMenu ;
       private JMenuItem Salir,PORDEFECTO,SiNO,SICANCELAR,SINOCANCELAR,ERROR,PELIGRO,INFORMACION,NA,
                           ENT_DATOS,MENSAJE,COFIRMACI,OPCIONES;
       private JMenuBar BarraDelMenu;
}
class Lamina_PrincipaldelMarco extends JPanel{
                   
                    public Lamina_PrincipaldelMarco() {
                           setBackground(Color.BLACK);
}
}
class Lamina_TipoMensaje extends JPanel{
      
       public Lamina_TipoMensaje() {
             setBackground(Color.WHITE);
             setBounds(10,60,300,100);
              setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(Color.BLACK, Color.RED),"TIPO DE MENSAJE"));
            
            
             JComboBox comboTipoMensaje = new JComboBox(new String[] {"MENSAJE DE ENTRADA DATOS","MENSAJE AVISO","MENSAJE CONFIRMACION","MENSAJE OPCIONES"});
             add(new JLabel("TIPOMENSAJE"));
             add(comboTipoMensaje);
       }
      
}


class Lamina_IconoSleccionado extends JPanel{
      
       public Lamina_IconoSleccionado() {
             setBackground(Color.WHITE);
             setBounds(10,170,300,150);
              setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(Color.BLACK, Color.RED),"TIPO DE ICONO"));
             setLayout(new GridLayout(4,1));
             TIP_MEN_CONFIRM = new ButtonGroup();
             PORDEFECTO = new JRadioButton("ESTANDAR");
             SiNO = new JRadioButton("SI / NO");
             SICANCELAR = new JRadioButton("SI / CANCELAR");
             SINOCANCELAR = new JRadioButton("SI / NO / CANCELAR");
                          
                           TIP_MEN_CONFIRM.add(PORDEFECTO);
                           TIP_MEN_CONFIRM.add(SiNO);
                           TIP_MEN_CONFIRM.add(SICANCELAR);
                           TIP_MEN_CONFIRM.add(SINOCANCELAR);

             add(PORDEFECTO);add(SiNO);add(SICANCELAR);add(SINOCANCELAR);



            
       }
       JRadioButton PORDEFECTO,SiNO,SICANCELAR,SINOCANCELAR;
       ButtonGroup TIP_MEN_CONFIRM;
}

class Lamina_TipoMensajeConfirmacion extends JPanel{
      
       public Lamina_TipoMensajeConfirmacion() {
             setBackground(Color.WHITE);
             setBounds(10,330,300,200);
             setLayout(new GridLayout(3,1));
              setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(Color.BLACK, Color.RED),"TIPO DE MENSAJE CONFIRMACIÓN"));
            
          ImageIcon_ERROR = new ImageIcon("C:\\Users\\dagip\\Desktop\\x\\src/ImageIcon_warning_1.jpg");
             ImageIcon_INFORMACION = new ImageIcon("C:\\Users\\dagip\\Desktop\\x\\src/ImageIcon_informacion.jpg");
             ImageIcon_PELIGRO= new ImageIcon("C:\\Users\\dagip\\Desktop\\x\\src/ImageIcon_herror.png");
             ImageIcon_PREGUNTA= new ImageIcon("C:\\Users\\dagip\\Desktop\\x\\src/ImageIcon_Warning_2.png");
             ImageIcon_NA= new ImageIcon("C:\\Users\\dagip\\Desktop\\x\\src/ImageIcon_Preguntas_2.jpg");
             Botones = new ButtonGroup();
             Array_Botones = new JButton[] {ERROR = new JButton("ERROR",ImageIcon_ERROR),
                        INFORMACION = new JButton("INFORMACION",ImageIcon_INFORMACION),
                        PELIGRO = new JButton("PILIGRO",ImageIcon_PELIGRO),
                        PREGUNTA = new JButton("PREGUNTA",ImageIcon_NA),
                        NA = new JButton("N/A",ImageIcon_PREGUNTA)
                                                               };
                                                                  


             for (int i =0;i<Array_Botones.length;i++) {
                    Botones.add(Array_Botones[1]);
                    add(Array_Botones[i]);
                   
             }
            
       }
      
       JButton ERROR,INFORMACION,PELIGRO,PREGUNTA,NA,Array_Botones[];
       ButtonGroup Botones;
       ImageIcon ArraydeIcono[],ImageIcon_ERROR,ImageIcon_INFORMACION,ImageIcon_PELIGRO,ImageIcon_PREGUNTA,ImageIcon_NA;
      
}



Si te gusto y deseas ver el siguiente pulsa aquí 

No hay comentarios:

Publicar un comentario

Buscar este blog

Sandisk y Western Digital