Seguidores

MIS WEBS



lunes, 26 de marzo de 2018

Ejercicio con Layout Libre parte 3



Continuamos con el ejercicio de Layout Libre


Continuo poniendo en practica todo lo aprendido de java. En anteriores partes del ejercicio creamos un marco dentro de él hemos creado una lámina principal sobre la que estamos montando el resto de laminas, utilizando los Layout libres. Luego he dispuesto cada lámina en una zona determinada, creado RadioButon y menús con iconos.


Para continuar con mi ejercicio necesitaré utilizar los Eventos de ratón MouseListener

¿Que son los eventos de ratón en java?


La interface MouseListener implementa 5 métodos, por lo que cuando la utilicemos tendremos que crearlos o utilizar una clase adaptadora que los tiene implementados, en nuestro caso sería MouseAdapter.

Métodos de MouseListener:
·         mouseCliked (mouseEvent e): El usuario ya ha presionado y soltado el botón.
·         mousePreseed (mouseEvent e): El botón del ratón está siendo presionado
·         mouseReleased (mouseEvent e): El botón del ratón está regresando a su lugar después de haber sido presionado (el usuario retira el dedo del botón).
·         mouseEntered (mouseEvent e): Cuando el puntero del ratón entra en una zona determinada de la pantalla
·         mouseExited (mouseEvent e): Cuando el puntero del ratón sale en una zona determinada de la pantalla

 MousListener en sus métodos para por parámetros mousEvent por lo que tendremos a nuestra disposición los métodos de esta clase.
Métodos MouseEvent:
·         getX():posición X del ratón en pantalla en un momento determinado
·         getY():posición Y del ratón en pantalla en un momento determinado
·         gerModifiersEx(): nos indica si el usuario ha tocado el botón derecho, izquierdo  o l rueda del ratón.


·         getClickCount(): Cuenta el número de clics que ha hecho el usuario.

Eventos de ratón MouseListener

Hemos puesto a la escucha cada una de nuestras láminas utilizando Eventos de ratón MouseListener.

Primero ponderemos a la escucha nuestras láminas, oyente_raton() es una clase que hemos creado implementado la interface MouseListenerPor lo que estamos implentado MouseListener.



TipoBotones.addMouseMotionListener(new oyente_raton());
                    Seleccion.addMouseMotionListener(new oyente_raton());
                    Confirmacion.addMouseListener(new oyente_raton());
                    BotonesAccion.addMouseListener(new oyente_raton());
                    TipoBotones.addMouseListener(new oyente_raton());    
                    Seleccion.addMouseListener(new oyente_raton())
                    Confirmacion.addMouseListener(new oyente_raton());
                    BotonesAccion.addMouseListener(new oyente_raton());


Ahora vamos a crear nuestra clase oyente_raton implementando MouseListener esto nos obligará a implentar sus métodos.


private class oyente_raton implements MouseMotionListener,MouseListener{
       public void mouseDragged(MouseEvent e) {}
       public void mouseMoved(MouseEvent e) {}
       public void mouseClicked(MouseEvent e) {
                           if (e.getSource()==TipoBotones) {TipoBotones.         setBounds(10,60,300,500);
                                        Seleccion.setVisible(false);
                                        Confirmacion.setVisible(false);
                                        BotonesAccion.setVisible(false);}
                           else if (e.getSource()==Seleccion) {Seleccion.               setBounds(10,60,300,500);
                                        TipoBotones.setVisible(false);
                                        Confirmacion.setVisible(false);
                                        BotonesAccion.setVisible(false);}
                           else if (e.getSource()==Confirmacion) {Confirmacion.         setBounds(10,60,300,500);
                                        TipoBotones.setVisible(false);
                                        Seleccion.setVisible(false);
                                        BotonesAccion.setVisible(false);}
                           else if (e.getSource()==BotonesAccion) {BotonesAccion.       setBounds(10,60,300,500);
                                        TipoBotones.setVisible(false);
                                        Confirmacion.setVisible(false);
                                        Seleccion.setVisible(false);}

       }
       public void mouseEntered(MouseEvent e) {}
       public void mouseExited(MouseEvent e) {}
       public void mousePressed(MouseEvent e) {}
       public void mouseReleased(MouseEvent e) {
                           if (e.getSource()==TipoBotones) {TipoBotones.         setBounds(10, 60,300,100);
                                  Seleccion.setVisible(true);
                                  Confirmacion.setVisible(true);
                                  BotonesAccion.setVisible(true);}
                           else if (e.getSource()==Seleccion) {Seleccion.               setBounds(10,170,300,150);
                                  TipoBotones.setVisible(true);
                                  Confirmacion.setVisible(true);
                                  BotonesAccion.setVisible(true);}
                           else if (e.getSource()==Confirmacion) {Confirmacion.         setBounds(10,330,300,200);
                                  TipoBotones.setVisible(true);
                                  Seleccion.setVisible(true);
                                  BotonesAccion.setVisible(true);}
                           else if (e.getSource()==BotonesAccion) {BotonesAccion.       setBounds(10,550,300,150);
                                  TipoBotones.setVisible(true);
                                  Confirmacion.setVisible(true);
                                  Seleccion.setVisible(true);}
             }
      
      
       }
}










Os dejo el código completo por si os resulta útil, lo seguiré mejorando:


import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowFocusListener;
import java.awt.event.WindowListener;
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");
            
              PRINCIPAL = new Lamina_PrincipaldelMarco();
                     TipoBotones = new Lamina_TipoMensaje();
                     Seleccion = new Lamina_IconoSleccionado();
                     Confirmacion = new Lamina_TipoMensajeConfirmacion();
                     Menu = new Lamina_Menu_Superior();
                     BotonesAccion = new L_bott_creaMarcos();
            
             PRINCIPAL.setLayout(null);
                           TipoBotones.addMouseMotionListener(new oyente_raton());
                           Seleccion.addMouseMotionListener(new oyente_raton());
                           Confirmacion.addMouseListener(new oyente_raton());
                           BotonesAccion.addMouseListener(new oyente_raton());
                           TipoBotones.addMouseListener(new oyente_raton());
                           Seleccion.addMouseListener(new oyente_raton());
                           Confirmacion.addMouseListener(new oyente_raton());
                           BotonesAccion.addMouseListener(new oyente_raton());
                    PRINCIPAL.add(Menu);
                    PRINCIPAL.add(TipoBotones);
                    PRINCIPAL.add(Seleccion);
                    PRINCIPAL.add(Confirmacion);
                    PRINCIPAL.add(BotonesAccion);

            
             add(PRINCIPAL);
       }
       JOptionPane pnelaccion;
       Lamina_Menu_Superior Menu ;
       Lamina_TipoMensaje TipoBotones;
       Lamina_IconoSleccionado Seleccion;
       Lamina_TipoMensajeConfirmacion Confirmacion ;
       L_bott_creaMarcos BotonesAccion;
       Lamina_PrincipaldelMarco PRINCIPAL;
      
private class oyente_raton implements MouseMotionListener,MouseListener{
       public void mouseDragged(MouseEvent e) {}
       public void mouseMoved(MouseEvent e) {}
       public void mouseClicked(MouseEvent e) {
                           if (e.getSource()==TipoBotones) {TipoBotones.         setBounds(10,60,300,500);
                                        Seleccion.setVisible(false);
                                        Confirmacion.setVisible(false);
                                        BotonesAccion.setVisible(false);}
                           else if (e.getSource()==Seleccion) {Seleccion.               setBounds(10,60,300,500);
                                        TipoBotones.setVisible(false);
                                        Confirmacion.setVisible(false);
                                        BotonesAccion.setVisible(false);}
                           else if (e.getSource()==Confirmacion) {Confirmacion.         setBounds(10,60,300,500);
                                        TipoBotones.setVisible(false);
                                        Seleccion.setVisible(false);
                                        BotonesAccion.setVisible(false);}
                           else if (e.getSource()==BotonesAccion) {BotonesAccion.       setBounds(10,60,300,500);
                                        TipoBotones.setVisible(false);
                                        Confirmacion.setVisible(false);
                                        Seleccion.setVisible(false);}

       }
       public void mouseEntered(MouseEvent e) {}
       public void mouseExited(MouseEvent e) {}
       public void mousePressed(MouseEvent e) {}
       public void mouseReleased(MouseEvent e) {
                           if (e.getSource()==TipoBotones) {TipoBotones.         setBounds(10, 60,300,100);
                                  Seleccion.setVisible(true);
                                  Confirmacion.setVisible(true);
                                  BotonesAccion.setVisible(true);}
                           else if (e.getSource()==Seleccion) {Seleccion.               setBounds(10,170,300,150);
                                  TipoBotones.setVisible(true);
                                  Confirmacion.setVisible(true);
                                  BotonesAccion.setVisible(true);}
                           else if (e.getSource()==Confirmacion) {Confirmacion.         setBounds(10,330,300,200);
                                  TipoBotones.setVisible(true);
                                  Seleccion.setVisible(true);
                                  BotonesAccion.setVisible(true);}
                           else if (e.getSource()==BotonesAccion) {BotonesAccion.       setBounds(10,550,300,150);
                                  TipoBotones.setVisible(true);
                                  Confirmacion.setVisible(true);
                                  Seleccion.setVisible(true);}
             }
      
      
       }
}
      
  
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();
                                  ImageIcon ImageIcon_ERROR = new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/ImageIcon_warning_1.jpg");
                                  ImageIcon ImageIcon_INFORMACION = new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/ImageIcon_informacion.jpg");
                                  ImageIcon ImageIcon_PELIGRO= new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/ImageIcon_herror.png");
                                  ImageIcon ImageIcon_NA= new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/ImageIcon_Preguntas_2.jpg");
                                 
                                 
                   
                            BarraDelMenu.add(Inicio=new JMenu("INICIO"));
                                                        Inicio.add(Salir = new JMenuItem("Salir",new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/SALIR.jpg")));
                                                                                 //ponemos a la escucha el menú salir
                                                                                 Salir.addActionListener(new ActionListener(){
                                                                                       public void actionPerformed(ActionEvent e) {
                                                                                              System.exit (0);//salir del sistema//
                                                                                       }
                                                                                 });
                            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",ImageIcon_ERROR));
                                                        SubTipo.add(PELIGRO =    new JMenuItem("PELIGRO",ImageIcon_PELIGRO));
                                                        SubTipo.add(INFORMACION =       new JMenuItem("INFORMACION",ImageIcon_INFORMACION));
                                                        SubTipo.add(NAnew JMenuItem("PORDEFECTO",ImageIcon_NA));
                                                       
                            BarraDelMenu.add(BotConfirmacion = new JMenu("MENSAJE CONFIRMACIÓN"));  
                                                             grupotipo = new ButtonGroup();  
                                                                    grupotipo.add(PORDEFECTO =        new JRadioButton("PORDEFECTO"));
                                                                    grupotipo.add(SiNO =             new JRadioButton("SI / NO"));
                                                                    grupotipo.add(SICANCELAR =        new JRadioButton("SI / CANCELAR"));
                                                                    grupotipo.add(SINOCANCELAR =       new JRadioButton("SI / NO / CANCELAR"));
                                                                           BotConfirmacion.add(PORDEFECTO)   ;
                                                                          BotConfirmacion.add(SiNO);
                                                                           BotConfirmacion.add(SICANCELAR)   ;
                                                                           BotConfirmacion.add(SINOCANCELAR);
                                                             
                    add(BarraDelMenu);
        }
        
       private JMenu Inicio,TipMensaje,SubTipo,BotConfirmacion,CargaJMenu ;
       private JMenuItem Salir,ERROR,PELIGRO,INFORMACION,NA,
                           ENT_DATOS,MENSAJE,COFIRMACI,OPCIONES;
       private ButtonGroup grupotipo;
       private JRadioButton PORDEFECTO,SiNO,SICANCELAR,SINOCANCELAR;
       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\\ddddddddddd\\src/ImageIcon_warning_1.jpg");
             ImageIcon_INFORMACION = new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/ImageIcon_informacion.jpg");
             ImageIcon_PELIGRO= new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/ImageIcon_herror.png");
             ImageIcon_PREGUNTA= new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/ImageIcon_Warning_2.png");
             ImageIcon_NA= new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\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;
      

}


class L_bott_creaMarcos extends JPanel{
      
       public L_bott_creaMarcos() {
            
             setBackground(Color.WHITE);
             setBounds(10,550,300,130);
             setLayout(new GridLayout(1,1));
              setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(Color.BLACK, Color.RED),"TIPO DE MENSAJE CONFIRMACIÓN"));
            
             add(CrearMesaje=new JButton("CREARMENSAJE", new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/ImageIcon_BIEN.png")));
             add(Cancelar=new JButton("CANCELAR", new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/ImageIcon_Aspa.png")));
            
            
       }
JButton Cancelar,CrearMesaje;
}



Si te gusta y deseas continuar.



No hay comentarios:

Publicar un comentario

Buscar este blog

Sandisk y Western Digital