Seguidores

MIS WEBS



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;

No hay comentarios:

Publicar un comentario

Buscar este blog

Sandisk y Western Digital