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.
- El primer constructor carga los Items al menú.
- El segundo constructor carga los Items y unos iconos con imágenes en el menú.
- 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.
No hay comentarios:
Publicar un comentario