Seguidores

MIS WEBS



martes, 6 de marzo de 2018

PROCESADOR DE TEXTOS CON JAVA 2



En el anterior artículo creamos el marco del procesador de textos y le dimos interacción al botón de los margenes.



Ahora vamos a crear una clase interna dentro del JComboBoxTipo_letra en la que lo penemos a las escucha y le indicamos que cada vez que seleccionemos un tipo de letra distinto, nos lo modifique en el JTextArea.     





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 JComboBox Tipo_letra;
       }





Todo el código queda así:




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("VISTA");
                                      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");
                                      POR2     =                  new JMenuItem("X 2");
                                      POR10    =                  new JMenuItem("X 10");
                                      POR100  =                   new JMenuItem("X 100");
                                      CINCUENTA=                  new JMenuItem("50 %");
                                      CIEN=                       new JMenuItem("100 %");
                                      DOSCIENTOS=        new JMenuItem("200 %");
                                      TRESCIENTOS=       new JMenuItem("300 %");
                                     
                                     
                                     
                                     
                                      BARRA.add(Inicio);
                                                          Inicio.add(GUARDAR);
                                                          Inicio.add(GUARDAR_COMO);
                                                                 Inicio.addSeparator();
                                                                 Inicio.add(COP_PEG);
                                                                                              COP_PEG.add(COPIAR);
                                                                                              COP_PEG.add(PEGAR);
                                      BARRA.add(tIPO_LETRA);
                                                          tIPO_LETRA.add(NEGRITA);
                                                          tIPO_LETRA.add(CURSIVA);
                                      BARRA.add(TAMAÑO_LETRA);
                                                          TAMAÑO_LETRA.add(POR2);
                                                          TAMAÑO_LETRA.add(POR10);
                                                          TAMAÑO_LETRA.add(POR100);
                                                         
                                     
                                      BARRA.add(VISTA);
                                                          VISTA.add(CINCUENTA);
                                                          VISTA.add(CIEN);
                                                          VISTA.add(DOSCIENTOS);
                                                          VISTA.add(TRESCIENTOS);
                                      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,POR2,POR10,POR100,CIEN,DOSCIENTOS,TRESCIENTOS,CINCUENTA;
                  
         }
         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 JComboBox Tipo_letra;
         }
         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 JPanel Lamina_barra,Lamina_Texto,Lamina_botones;
        
        

        
        
}

Si te gusta puede continuar

No hay comentarios:

Publicar un comentario

Buscar este blog

Sandisk y Western Digital