Seguidores

MIS WEBS



Mostrando entradas con la etiqueta PROCESADOR DE TEXTOS CON JAVA. Mostrar todas las entradas
Mostrando entradas con la etiqueta PROCESADOR DE TEXTOS CON JAVA. 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 PARTE 6

 En anteriores artículos ⏭puse los botones a la escucha para poder modificar el tipo de letra de nuestro cuadro de texto, empece a dar funcionalidad .a la barra del menú, en concreto al tipo letra (negrita,cursiva, normal), Luego le di funcionalidad a copiar y pegar dentro de Inicio.
Dentro del menú tenemos el apartado Vista que tiene los componente (Blanco,rojo, verde, azul), estos componentes modificarán el color de fondo de nuestra área de texto y tienen un icono con el color.





Ahora vamos a multiplicar el tamaño del texto por 10, 2, 25 o dividirlo entre 10, 2, 25




POR2.addActionListener(new ActionListener() {
                                               public void actionPerformed(ActionEvent arg0) {
                                                        //obtenemos el tipo letra que existe enla pantalla
                                                        Font F = Area_texto.getFont();
                            String obten_familiaLetra = F.getFamily();//familia (arial,arial black...)
                            int  obten_tipoLetra=F.getStyle();//Estilo (negrita,cursiva,plana...)
                            int obten_TamañoLEtra =F.getSize()*2; //tamaño fuente por 2
                                                        //modifico el tamaño
                   Area_texto.setFont(new Font(obten_familiaLetra,obten_tipoLetra,obten_TamañoLEtra));
                                               }
                                      });
                                      POR10.addActionListener(new ActionListener() {
                                               public void actionPerformed(ActionEvent arg0) {
                                                        Font F = Area_texto.getFont();
                            String obten_familiaLetra = F.getFamily();//familia (arial,arial black...)
                            int  obten_tipoLetra=F.getStyle();//Estilo (negrita,cursiva,plana...)
                            int obten_TamañoLEtra =F.getSize()*10; //tamaño fuente por 2
                                                        Area_texto.setFont(new Font(obten_familiaLetra,obten_tipoLetra,obten_TamañoLEtra));                                                
                                               }
                                      });
                                      POR100.addActionListener(new ActionListener() {
                                               public void actionPerformed(ActionEvent arg0) {
                                                        Font F = Area_texto.getFont();
                            String obten_familiaLetra = F.getFamily();//familia (arial,arial black...)
                            int  obten_tipoLetra=F.getStyle();//Estilo (negrita,cursiva,plana...)
                            int obten_TamañoLEtra =F.getSize()*25; //tamaño fuente por 2
                   Area_texto.setFont(new Font(obten_familiaLetra,obten_tipoLetra,obten_TamañoLEtra));                                               
                                               }
                                      });
                                      ENTRE2.addActionListener(new ActionListener() {
                                               public void actionPerformed(ActionEvent arg0) {
                                                        //obtenemos el tipo letra que existe enla pantalla
                                                        Font F = Area_texto.getFont();
                                                        String obten_familiaLetra = F.getFamily();
                                                        int  obten_tipoLetra=F.getStyle();
                                                        int obten_TamañoLEtra =F.getSize()/2;
                   Area_texto.setFont(new Font(obten_familiaLetra,obten_tipoLetra,obten_TamañoLEtra));
                                               }
                                      });
                                      ENTRE10.addActionListener(new ActionListener() {
                                               public void actionPerformed(ActionEvent arg0) {
                                                        Font F = Area_texto.getFont();
                                                        String obten_familiaLetra = F.getFamily();
                                                        int  obten_tipoLetra=F.getStyle();
                                                        int obten_TamañoLEtra =F.getSize()/10;
         Area_texto.setFont(new Font(obten_familiaLetra,obten_tipoLetra,obten_TamañoLEtra));                                               
                                               }
                                      });
                                      ENTRE100.addActionListener(new ActionListener() {
                                               public void actionPerformed(ActionEvent arg0) {
                                        Font F = Area_texto.getFont();
String obten_familiaLetra = F.getFamily();
                                        int  obten_tipoLetra=F.getStyle();
                                        int obten_TamañoLEtra =F.getSize()/25;
Area_texto.setFont(new Font(obten_familiaLetra,obten_tipoLetra,obten_TamañoLEtra));   
                                  }
                           });




AQUÍ TENEMOS EL CÓDIGO RESULTANTE:



import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;


public class practica3 {

public static void main(String[] arg) {
MarcO marcO22= new MarcO();
marcO22.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
marcO22.setVisible(true);
}

}

class MarcO extends JFrame{
public MarcO() {
setBounds(400,100,800,500);
add(new Lamina());
}
}


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");
COPIAR= new JMenuItem("COPIAR");
PEGAR= new JMenuItem("PEGAR");
GUARDAR= new JMenuItem("GUARDAR");
GUARDAR_COMO= new JMenuItem("GUARDAR COMO");
NEGRITA = new JMenuItem("NEGRITA");
CURSIVA = new JMenuItem("CURSIVA");
SIN_FORMATO=    new JMenuItem("SIN FORMATO");
POR2 = new JMenuItem("X 2");
POR10 = new JMenuItem("X 10");
POR100  = new JMenuItem("X 25");
ENTRE2 = new JMenuItem("/ 2");
ENTRE10 = new JMenuItem("/ 10");
ENTRE100 = new JMenuItem("/ 25");
Icono_rojo= new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/rojo.gif");
Icono_gris= new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/gris.gif");
Icono_verde= new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/verde.gif");
Icono_blanco=new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/blanco.gif");
GRIS= new JMenuItem("GRIS",Icono_gris);
ROJO= new JMenuItem("ROJO",Icono_rojo);
BLANCO= new JMenuItem("BLANCO",Icono_blanco);
VERDE= new JMenuItem("VERDE",Icono_verde);
BARRA.add(Inicio);
  Inicio.add(GUARDAR);
  Inicio.add(GUARDAR_COMO);
  Inicio.addSeparator();
  Inicio.add(COP_PEG);
    COP_PEG.add(COPIAR);
    COPIAR.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
TextoEnPantalla = Area_texto.getText();
}
    });
    COP_PEG.add(PEGAR);
  PEGAR.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Texto2= Area_texto.getText() + TextoEnPantalla;
Area_texto.setText(Texto2);
}
    });
BARRA.add(tIPO_LETRA);
NEGRITA.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//obtener el tipo letra
String Tex_ = Area_texto.getFont().getFamily();
int obten_TamañoLEtra =Area_texto.getFont().getSize();
Area_texto.setFont(new Font(Tex_,Font.BOLD,obten_TamañoLEtra));
}
});
CURSIVA.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String Tex_ = Area_texto.getFont().getFamily();
int obten_TamañoLEtra =Area_texto.getFont().getSize();
Area_texto.setFont(new Font(Tex_,Font.ITALIC,obten_TamañoLEtra));
}
});
SIN_FORMATO.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String Tex_ = Area_texto.getFont().getFamily();
int obten_TamañoLEtra =Area_texto.getFont().getSize();
Dimension T_letra=Area_texto.getSize();
Area_texto.setFont(new Font(Tex_,Font.PLAIN,obten_TamañoLEtra));
}
});
  tIPO_LETRA.add(SIN_FORMATO);
  tIPO_LETRA.add(NEGRITA);
  tIPO_LETRA.add(CURSIVA);
BARRA.add(TAMAÑO_LETRA);
POR2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//obtenemos el tipo letra que existe enla pantalla
Font F = Area_texto.getFont();
String obten_familiaLetra = F.getFamily();//familia (arial,arial black...)
int  obten_tipoLetra=F.getStyle();//Estilo (negrita,cursiva,plana...)
int obten_TamañoLEtra =F.getSize()*2; //tamaño fuente por 2
//modifico el tamaño
Area_texto.setFont(new Font(obten_familiaLetra,obten_tipoLetra,obten_TamañoLEtra));
}
});
POR10.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Font F = Area_texto.getFont();
String obten_familiaLetra = F.getFamily();//familia (arial,arial black...)
int  obten_tipoLetra=F.getStyle();//Estilo (negrita,cursiva,plana...)
int obten_TamañoLEtra =F.getSize()*10; //tamaño fuente por 2
Area_texto.setFont(new Font(obten_familiaLetra,obten_tipoLetra,obten_TamañoLEtra));
}
});
POR100.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Font F = Area_texto.getFont();
String obten_familiaLetra = F.getFamily();//familia (arial,arial black...)
int  obten_tipoLetra=F.getStyle();//Estilo (negrita,cursiva,plana...)
int obten_TamañoLEtra =F.getSize()*25; //tamaño fuente por 2
Area_texto.setFont(new Font(obten_familiaLetra,obten_tipoLetra,obten_TamañoLEtra));
}
});
ENTRE2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//obtenemos el tipo letra que existe enla pantalla
Font F = Area_texto.getFont();
String obten_familiaLetra = F.getFamily();//familia (arial,arial black...)
int  obten_tipoLetra=F.getStyle();//Estilo (negrita,cursiva,plana...)
int obten_TamañoLEtra =F.getSize()/2; //tamaño fuente por 2
//modifico el tamaño
Area_texto.setFont(new Font(obten_familiaLetra,obten_tipoLetra,obten_TamañoLEtra));
}
});
ENTRE10.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Font F = Area_texto.getFont();
String obten_familiaLetra = F.getFamily();//familia (arial,arial black...)
int  obten_tipoLetra=F.getStyle();//Estilo (negrita,cursiva,plana...)
int obten_TamañoLEtra =F.getSize()/10; //tamaño fuente por 2
Area_texto.setFont(new Font(obten_familiaLetra,obten_tipoLetra,obten_TamañoLEtra));
}
});
ENTRE100.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Font F = Area_texto.getFont();
String obten_familiaLetra = F.getFamily();//familia (arial,arial black...)
int  obten_tipoLetra=F.getStyle();//Estilo (negrita,cursiva,plana...)
int obten_TamañoLEtra =F.getSize()/25; //tamaño fuente por 2
Area_texto.setFont(new Font(obten_familiaLetra,obten_tipoLetra,obten_TamañoLEtra));
}
});
  TAMAÑO_LETRA.add(POR2);
  TAMAÑO_LETRA.add(POR10);
  TAMAÑO_LETRA.add(POR100);
  TAMAÑO_LETRA.add(ENTRE2);
  TAMAÑO_LETRA.add(ENTRE10);
  TAMAÑO_LETRA.add(ENTRE100);
BARRA.add(VISTA);
  VISTA.add(GRIS);//gris
  GRIS.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent e) {
  Area_texto.setBackground(Color.LIGHT_GRAY);
}
  });
  VISTA.add(BLANCO);
            BLANCO.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Area_texto.setBackground(Color.WHITE);
}
            });
  VISTA.add(VERDE);
  VERDE.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Area_texto.setBackground(Color.green);
}
  });
  VISTA.add(ROJO);
  ROJO.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent e) {
Area_texto.setBackground(Color.red);
}
  });
Lamina_barra.add(BARRA);
add(Lamina_barra);
}
private JMenuBar BARRA;
private JMenu Inicio, tIPO_LETRA,TAMAÑO_LETRA,VISTA,COP_PEG;
private JMenuItem COPIAR,PEGAR,GUARDAR,GUARDAR_COMO,NEGRITA,CURSIVA,SIN_FORMATO,ENTRE2,ENTRE10,ENTRE100,POR2,POR10,POR100,GRIS,BLANCO,ROJO,VERDE;
private ImageIcon Icono_rojo,Icono_verde,Icono_gris,Icono_blanco;
}
private class LAMINA_BOTONES extends JPanel{
public LAMINA_BOTONES() {
Lamina_botones= new JPanel();
Lamina_botones.setLayout(new GridLayout(2,1));
Establece_corte_Linea= new JButton("Set Line Warp");
Establece_corte_Linea.setBackground(Color.LIGHT_GRAY);
//clase interna anónima parara el metodo Actionlistener del boton
Establece_corte_Linea.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
boolean saltar =! Area_texto.getLineWrap();
Area_texto.setLineWrap(saltar);
if (saltar) {
Establece_corte_Linea.setText("Quitar SAlto Linea");
}else {
Establece_corte_Linea.setText("Poner Salto Linea");
}
}
});
//Creamos un array al que le cargamos las fuentes de nuestro pc
String Fuentes_de_mi_pc []=GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
//pasamos el array por parametros al combo para cargar los datos
Tipo_letra= new JComboBox(Fuentes_de_mi_pc);
Tipo_letra.setSize(new Dimension(10,10));
Lamina_botones.add(Establece_corte_Linea);
// creamos una clase interna anónima a la que le indicamos que modifique el tipo texto cuando lo cambiemos
//en JComboBox
Tipo_letra.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String Tex_ = (String) Tipo_letra.getSelectedItem();
Area_texto.setFont(new Font(Tex_,10,20));
}
});
Lamina_botones.add(Tipo_letra);
add(Lamina_botones);
}
private JButton Establece_corte_Linea;
}
private class LAMINA_TEXTO extends JPanel{
public LAMINA_TEXTO() {
Lamina_Texto = new JPanel();
Area_texto= new JTextArea("",25,45);
Area_texto.setLineWrap(true);
Scroll_texto= new JScrollPane(Area_texto);
Lamina_Texto.add(Scroll_texto);
add(Lamina_Texto);
}
}
public Lamina() {
setLayout(new BorderLayout());
LAMINA_TEXTO L_text = new LAMINA_TEXTO();
LAMINA_BOTONES L_BPT = new LAMINA_BOTONES();
LAMINA_BARRA L_BAR = new LAMINA_BARRA();
setLayout(new BorderLayout());
L_text.setVisible(true);
add(L_text, BorderLayout.CENTER);
add(L_BPT,BorderLayout.WEST);
add(L_BAR,BorderLayout.NORTH);
}
private JScrollPane Scroll_texto;   
private JTextArea Area_texto;
private JComboBox Tipo_letra;
private JPanel Lamina_barra,Lamina_Texto,Lamina_botones;
private  String TextoEnPantalla,Texto2;

Buscar este blog

Sandisk y Western Digital