Seguidores

MIS WEBS



Mostrando entradas con la etiqueta crear método constructor de menú. Mostrar todas las entradas
Mostrando entradas con la etiqueta crear método constructor de menú. Mostrar todas las entradas

domingo, 11 de marzo de 2018

PROCESADOR DE TEXTOS CON JAVA 10



Buenos días,

En  anteriores artículos habíamos creado una pequeño procesador de textos con java, una vez realizado y comprobado que funcionaba, decidí reducir el código resultante. Creando constructores de la barra de menú que era la que más código me estaba alargando.
  1. El primer constructor carga los Items al menú.
  2. El segundo constructor carga los Items y unos iconos con imágenes en el menú.
  3. El tercer constructor carga Los Items y SubItems en el menú.


Este sería el código resultante:




class LAMINA_BARRA extends JPanel {
                public LAMINA_BARRA() {
                        BarraMenu = new JMenuBar();                
Icono_rojo=new ImageIcon("C:\\Users\\xx\\Desktop\\x\\src/rojo.gif");
Icono_gris=new ImageIcon("C:\\Users\\xx\\Desktop\\x\\src/gris.gif");
Icono_verde=new ImageIcon("C:\\Users\\xx\\Desktop\\xx\\src/verde.gif");
Icono_blanco=new ImageIcon("C:\\Users\\xx\\Desktop\\xx\\src/blanco.gif");
                        constructorJMenu((new JMenu[] {Inicio,COP_PEG,}),BarraMenu,(new String[]{"inicio","copiar y pegar"}),(new JMenuItem[]  {GUARDAR,GUARDAR_COMO}),(new String[] {"GUARDAR","GUARDAR_COMO"}),(new JMenuItem[]  {GUARDAR,GUARDAR_COMO}),(new String[] {"GUARDAR","GUARDAR_COMO"}));
                        constructorJMenu(tIPO_LETRA,BarraMenu,"TIPO LETRA",(new JMenuItem[]  { NEGRITA,CURSIVA,SIN_FORMATO}),(new String[] {"NEGRITA","CURSIVA","SIN FORMATO"}));

constructorJMenu(TAMAÑO_LETRA,BarraMenu,"TAMAÑO_LETRA",(new JMenuItem[]  { ENTRE2,ENTRE10,ENTRE100,POR2,POR10,POR100}),(new String[] {"/ 2","/ 10","/ 100","X 2","X 10", "X 100"}));
                        constructorJMenu(VISTA,BarraMenu,"VISTA",(new JMenuItem[]  { GRIS,BLANCO,ROJO,VERDE}),(new String[] {"GRIS","BLANCO","ROJO","VERDE"}),(new ImageIcon[] {Icono_gris,Icono_blanco,Icono_rojo,Icono_verde}));                      
                        add(BarraMenu);
                }
                private void constructorJMenu
                (JMenu NombreVariableJMenu,JMenuBar NombreDeLaBarra,String TextoMostradoJmenu,JMenuItem[] Items_del_menu,String[] SumbmenusInicio) {
                        NombreVariableJMenu = new JMenu(TextoMostradoJmenu);                  
                        for (int i =0; i<Items_del_menu.length;i++) {
                Items_del_menu[i]=      new JMenuItem (SumbmenusInicio[i]);
                Items_del_menu[i].addActionListener(new ConstructorDEoyebtes());             
                               NombreVariableJMenu.add(Items_del_menu[i]);
                        }
                        NombreDeLaBarra.add(NombreVariableJMenu);
                }      
                private void constructorJMenu
                (JMenu NombreVariableJMenu,JMenuBar NombreDeLaBarra,String TextoMostradoJmenu,JMenuItem[] Items_del_menu,String[] SumbmenusInicio,ImageIcon[] foto) {
                        NombreVariableJMenu = new JMenu(TextoMostradoJmenu);                  
                        for (int i =0; i<Items_del_menu.length;i++) {
                Items_del_menu[i]=      new JMenuItem (SumbmenusInicio[i],foto[i]);
                Items_del_menu[i].addActionListener(new ConstructorDEoyebtes());
                              
                               NombreVariableJMenu.add(Items_del_menu[i]);
                        }
                        NombreDeLaBarra.add(NombreVariableJMenu);
                }
       
               
                private void constructorJMenu
                (JMenu NombreVariableJMenu[] ,JMenuBar NombreDeLaBarra,String TextoMostradoJmenu[],JMenuItem[] Items_del_menu,String[] SumbmenusInicio,JMenuItem[] Items_del_submenu,String[] TEXTOS_SUBMENUS) {
                              
                NombreVariableJMenu[0] = new JMenu(TextoMostradoJmenu[0]);    
                NombreVariableJMenu[1] = new JMenu(TextoMostradoJmenu[1]);    
                       
                       
                        for (int i =0; i<Items_del_menu.length;i++) {
                Items_del_menu[i]=      new JMenuItem (SumbmenusInicio[i]);                            Items_del_menu[i].addActionListener(new ConstructorDEoyebtes());             
                               NombreVariableJMenu[0].add(Items_del_menu[i]);
                        }
                       
                        NombreVariableJMenu[0].add(NombreVariableJMenu[1]);
                        for (int i =0; i<Items_del_submenu.length;i++) {
        Items_del_submenu[i]=   new JMenuItem (TEXTOS_SUBMENUS[i]);
        Items_del_submenu[i].addActionListener(new ConstructorDEoyebtes());                           NombreVariableJMenu[1].add(Items_del_submenu[i]);
                        }

                        NombreDeLaBarra.add(NombreVariableJMenu[0]);
                }
               
                ImageIcon Icono_rojo,Icono_gris,Icono_verde,Icono_blanco;
                String SumbmenusInicio[];
                JMenuItem[] Items_del_menu;
                JMenuBar BarraMenu;
                JMenu Inicio,COP_PEG,tIPO_LETRA,TAMAÑO_LETRA,VISTA;
                JMenuItem COPIAR,PEGAR,GUARDAR,GUARDAR_COMO,NEGRITA,CURSIVA,SIN_FORMATO,ENTRE2,ENTRE10,ENTRE100,POR2,POR10,POR100,GRIS,BLANCO,ROJO,VERDE;

        }

Muchas gracias a todos/as espero que os pueda ser de utilidad.

jueves, 8 de marzo de 2018

PROCESADOR DE TEXTOS CON JAVA CAPITULO 7

En anteriores artículos hemos ido creando código y veo que cada vez es más largo y difícil de leer y crear. Por eso he tirado de apuntes para ver como simplificarlo.

Antes cuando creaba los Menús me hacia falta mucho código:
Teníamos que crear los botones y luego añadirlos la barra menú.


class Lamina extends JPanel{
       private class LAMINA_BARRA extends JPanel{
             public LAMINA_BARRA() {
                    Lamina_barra= new JPanel();
                    Lamina_barra.setLayout(new FlowLayout(FlowLayout.CENTER,1,0));
                    BARRA = new JMenuBar();    
                           Inicio=             new JMenu("INICIO");
                           COP_PEG=            new JMenu("COP & PEG");
                           tIPO_LETRA=         new JMenu("TIPO LETRA");
                           TAMAÑO_LETRA =      new JMenu("TAMAÑO LETRA");
                           VISTA =             new JMenu("COLOR AREA TEXTO");


BARRA.add(tIPO_LETRA);
BARRA.add(Inicio);
BARRA.add(COP_PEG);
BARRA.add(VISTA);
Add(BARRA);

             }
             private JMenuBar BARRA;
             private JMenu Inicio, tIPO_LETRA,TAMAÑO_LETRA,VISTA,COP_PEG;

}


He creado un método constructor que hará estas dos cosas por nosotros. Parece que nos ahorrar  mucho código pero si esto lo implementamos a JMenúItem la reducción de código puede ser considerable.

class Lamina2 extends JPanel{
       public Lamina2() {
             setLayout(new BorderLayout());   
            
             add(new LAMINA_BARRA(),BorderLayout.NORTH);
       }
      
       class LAMINA_BARRA extends JPanel {
             public LAMINA_BARRA() {
                   
                    BarraMenu = new JMenuBar();
                    constructorJMenu(Inicio,BarraMenu,"Inicio");
                    constructorJMenu(COP_PEG,BarraMenu,"COP_PEG");
                    constructorJMenu(tIPO_LETRA,BarraMenu,"TIPO LETRA");
                    constructorJMenu(TAMAÑO_LETRA,BarraMenu,"TAMAÑO_LETRA");
                    constructorJMenu(VISTA,BarraMenu,"VISTA");
                   
                    add(BarraMenu);
                   
             }
             public void constructorJMenu(JMenu NombreVariable,JMenuBar NombreDeLaBarra,String TextoMostradoJmenu) {
                   
                    NombreVariable = new JMenu(TextoMostradoJmenu);
                    NombreDeLaBarra.add(NombreVariable);
                   
             }
       JMenuBar BarraMenu;
       JMenu Inicio,COP_PEG,tIPO_LETRA,TAMAÑO_LETRA,VISTA;
             }
       }



SI TE GUSTA PUEDES CONTINUAR

Buscar este blog

Sandisk y Western Digital