Seguidores

MIS WEBS



Mostrando entradas con la etiqueta aprender a programar. Mostrar todas las entradas
Mostrando entradas con la etiqueta aprender a programar. Mostrar todas las entradas

lunes, 19 de marzo de 2018

EMPEZAR A PROGRAMAR

En mi caso La verdad he empezado más tarde que pronto. De joven estudié administrativo, durante mis estudios ya estaba trabajando en un vídeo club. Si, soy de esa generación en la que existía VHS e incluso conocí el BETA. Bueno voy al grano, cuando terminé de estudiar ya estaba acostumbrado a ganar dinero y en aquellos momentos la construcción estaba en pleno auge y la verdad no me arrepiento, estuve 12 años  trabajando como albañil primero y al final como encargado de obra. Gané dinero y los más importante me gustaba mi trabajo.

Pero llegó la crisis, aguanté como pude y resistí, pero al conocer a mi pareja y residir ella en otra ciudad en la otra punta de España decidí, en plena crisis y teniendo trabajo, irme a vivir a su ciudad y empezar de 0. Y la verdad tan bien me ha salido bien, estoy felizmente casado y trabajando, que no es poco.

Al llegar a Sevilla dedique 12h al día hasta encontrar trabajo, en plena crisis en 3 meses estaba trabajando. Desenterré mi titulo de administrativo y me puse las pilas en exceel y ACCES, tanto fue así que  empecé a programar en VBA Acces









Tras un año aprendiendo funciones de Excel y posteriormente a programar en VBA Acces me puse con JAVA. Tengo 40 años en este momento y me he propuesto empezar de 0 una vez más, guardo mis apuntes en una web que facilito gratuitamente, porque soy de esos ilusos que creen en la enseñanza gratuita y universal.

Estoy aprendiendo html, java, utilizando  VBA Acces  en mi trabajo diario. Quiero empezar un grado superior de DAW (desarrollo aplicaciones Web), continuar por la universidad y por el camino mantener mis webs. Soy de los que creen firmemente que tan solo se deja de luchar cuando te mueres.  Si me seguís os iré pasando mis apuntes. Muchas gracias a todos/as.







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, 22 de febrero de 2018

EJERCICIOS CON DISEÑOS MARCOS JAVA II



Buenas tardes continuamos complicándonos la vida con java. Sigo realizando mi calculadora. En este ejercicio he puesto puesto a la escucha los botones con números de la calculadora para que cuando toquemos en ellos aparezca en la consola, para el que utilicé un JTextField, el número presionado, en las siguientes practicas le iré dando funcionalidad.


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

public class otroEjemplodelayout {
         public static void main (String[] asgs) {
              Marco123456789 Calculator = new Marco123456789();
              Calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              Calculator.setVisible(true);    
         }
}

class Marco123456789 extends JFrame{
     public Marco123456789() {
         setTitle("Practica de Calculadora");
         setBounds(300,100,350,400);
         Consola Calculadora = new Consola();
         add(Calculadora);
        
     }
    
}

class Consola extends JPanel implements ActionListener{
    
     public Consola(){
         setLayout(new BorderLayout());
          cuadro_texto =new JTextField ("0",10);
         cuadro_texto.setBackground(Color.magenta);
         cuadro_texto.setFont(new Font("Arial Black",Font.BOLD,35));
         //cuadro_texto.setLayout(new BorderLayout());
         add(cuadro_texto,BorderLayout.NORTH);

        
          Panel =new JPanel();
         Panel.setLayout(new GridLayout(5,4));     //creamos un array con los botones
JButton Botones_Calculo[] = {   
new JButton("0"),new JButton("1"),new JButton("2"),new JButton("3"),
new JButton("4"),new JButton("5"),new JButton("6"),new JButton("7"),
new JButton("8"),new JButton("9"),new JButton("+"),new JButton("-"),
new JButton("/"),new JButton("*"),new JButton("=")
                                                     };
                  
//utilizamos un for each para cargar los botones en la lamina y poner a la escucha los botones
     int n=0;
                  
     for (JButton i:Botones_Calculo) {
     Panel.add(Botones_Calculo[n]);
                        Botones_Calculo[n].addActionListener(this);
     n++;
                        }
                  
     add(Panel,BorderLayout.CENTER);          
                   }
//declaramos las variables fuera de la case para utilizarlas en ActionListener
      JPanel Panel;
      JTextField cuadro_texto;
      
         public void actionPerformed(ActionEvent e) {
//obtenemos el texto del botón getActionCommand()
     String entrada = e.getActionCommand();
//discriminamos los botones + - / …
if (entrada !="+" && entrada !="-" && entrada !="/" &&  entrada !="*" && entrada !="=")
                   cuadro_texto.setText(entrada);
                   }
}





Bueno parece que la calculadora va cogiendo forma, la iremos mejorando poco a poco:




Espero que os guste. Muchas gracias  todos/as

Buscar este blog

Sandisk y Western Digital