Your SlideShare is downloading. ×
2010
                       ESCUELA POLITECNICA NACIONAL




                  PROGRAMACIÓN ORIENTADA A OBJETOS
          ...
2010
                       ESCUELA POLITECNICA NACIONAL

                                   INFORME


TEMA:     CREACION ...
2010
                       ESCUELA POLITECNICA NACIONAL




       JComboBox: permite la visualizacion de los datos ingre...
2010
                       ESCUELA POLITECNICA NACIONAL

   Cada uno de los objetos llamados cumplen con algún objetivo e...
2010
                       ESCUELA POLITECNICA NACIONAL



       //DECLARACION DE BOTONES


       private JButton agreg...
2010
                       ESCUELA POLITECNICA NACIONAL



              //CREACION DE UN PANEL GLOBAL
              cont...
2010
                         ESCUELA POLITECNICA NACIONAL

              //CREACION DE PANELES PARA LA DESCRIPCION
      ...
2010
                       ESCUELA POLITECNICA NACIONAL




           o Ejemplos:
                      createEmptyBorde...
2010
                       ESCUELA POLITECNICA NACIONAL

              addComponent(jPanel1, fono_t, 67,40,424,22);
     ...
2010
                       ESCUELA POLITECNICA NACIONAL

              addComponent(jPanel5, et6, 67,65,202,18);




    ...
2010
                       ESCUELA POLITECNICA NACIONAL

       private void Box2_actionPerformed(ActionEvent e){


     ...
2010
                         ESCUELA POLITECNICA NACIONAL

                     System.out.println("Error");
            ...
2010
                       ESCUELA POLITECNICA NACIONAL

              else if(comand.equals("Nuevo")){
                 ...
2010
                        ESCUELA POLITECNICA NACIONAL

                                     CLASE BASE
         ArrayL...
2010
                         ESCUELA POLITECNICA NACIONAL

              }
              return ref;

       }

       /*...
2010
                       ESCUELA POLITECNICA NACIONAL

                                CLASE PERSONA

public class Pers...
2010
                                          ESCUELA POLITECNICA NACIONAL



            /**
             * Metodo para ...
2010
                       ESCUELA POLITECNICA NACIONAL

Conclusiones:
       Los Applets son muy utilizado hoy en día pa...
Upcoming SlideShare
Loading in...5
×

AGENDA

1,231

Published on

Creación de una agenda con applets en la plataforma de ecllipse

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,231
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
101
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "AGENDA"

  1. 1. 2010 ESCUELA POLITECNICA NACIONAL PROGRAMACIÓN ORIENTADA A OBJETOS N Allaica, Hidalgo , Tupiza 1
  2. 2. 2010 ESCUELA POLITECNICA NACIONAL INFORME TEMA: CREACION DE UNA AGENDA USANDO APPLETS EN JAVA OBJETIVO: • Crear una agenda personal adecuada a las exigencias de cada usuario. MARCO TEORICO Para la realización de este proyecto se utilizaran frames que permiten la colocación de los distintos objetos en un lugar determinado. Esto será implementado en la creación de una Applet. Objetos utilizados JButton: Permite la inserción de un boton. JLabel: Permite la inserción de etiquetas. JPanel: Permite la inserción de objetos dentro del applet de manera mas organizada JTextField: Permite el ingreso de datos Allaica, Hidalgo , Tupiza 2
  3. 3. 2010 ESCUELA POLITECNICA NACIONAL JComboBox: permite la visualizacion de los datos ingresados en una barra. Implementación del programa CLASE AGENDA Procedemos a la importación de los elementos, obteniéndolos todos de la clase SWING y AWT import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.Image; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JApplet; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; Allaica, Hidalgo , Tupiza 3
  4. 4. 2010 ESCUELA POLITECNICA NACIONAL Cada uno de los objetos llamados cumplen con algún objetivo en particular, pero los objetos de la clase AWT, son utilizados principalmente para aplicaciones en ventanas, su entorno visual es muy limitado y por lo tanto nos ofrece un entorno visual agradable. Para corregir esto se creo la clase SWING que permita mejorar la apariencia de los objetos, creando una versión mejorada de la clase AWT. Creamos una clase que herede los métodos de JApplet e implemente la interface ActionListener. o ActionListener: Esta clase es la encargada de esperar a la escucha de algún suceso que ocurra dentro del applet, por ejemplo el clic en un botón. public class AgendaPRO extends JApplet implements ActionListener { //importacion de metodos de otras clases Base base=new Base(); o Private: Son modificadores de acceso que permiten solo a la clase usarlos y no por otra. //DECLARACION DE STATIC private JLabel nom; private JLabel fono; private JLabel dir; private JLabel et1; private JLabel et2; private JLabel et3; private JLabel et4; private JLabel et5; private JLabel et6; Allaica, Hidalgo , Tupiza 4
  5. 5. 2010 ESCUELA POLITECNICA NACIONAL //DECLARACION DE BOTONES private JButton agregar; private JButton borrar; private JButton mostrar; private JButton limpiar; //DECLARACION DE PANELES private JPanel contentPane; private JPanel jPanel1; private JPanel jPanel2; private JPanel jPanel3; private JPanel jPanel4; private JPanel jPanel5; private JPanel jPanel6; //DECLARACION DE EDITS private JTextField nom_t; private JTextField fono_t; private JTextField dir_t; //DECLARACION DE UN COMBOBOX private JComboBox Box2; Creamos un metodo extendido de la clase JApplet para la inicializacion de los objetos introducidos. o init(): Este método se usa para instanciar un constructor. public void init(){ Allaica, Hidalgo , Tupiza 5
  6. 6. 2010 ESCUELA POLITECNICA NACIONAL //CREACION DE UN PANEL GLOBAL contentPane = (JPanel)this.getContentPane(); //CREACION DE LOS STATIC Y EDITS PARA EL PANEL1 jPanel1=new JPanel(); nom = new JLabel("Nombre:"); fono = new JLabel("Telefono:"); dir = new JLabel("Direccion:"); et1=new JLabel("Nombre:"); et2=new JLabel("Telefono:"); et3=new JLabel("Direccion:"); et4=new JLabel(); et5=new JLabel(); et6=new JLabel(); nom_t = new JTextField(); fono_t = new JTextField(); dir_t = new JTextField(); //CREACION DE BOTONES PARA EL PANEL2 jPanel2=new JPanel(); agregar = new JButton("Agregar"); agregar.addActionListener(this); // hace referencia al boton borrar = new JButton("Borrar"); borrar.addActionListener(this); mostrar = new JButton("Mostrar"); mostrar.addActionListener(this); limpiar = new JButton("Nuevo"); limpiar.addActionListener(this); Allaica, Hidalgo , Tupiza 6
  7. 7. 2010 ESCUELA POLITECNICA NACIONAL //CREACION DE PANELES PARA LA DESCRIPCION jPanel3=new JPanel(); jPanel4=new JPanel(); jPanel5=new JPanel(); jPanel6=new JPanel(); Box2 = new JComboBox(); //Colocacion de un evento para la escucha de algun suceso //en este objeto Box2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Box2_actionPerformed(e); } }); BorderFactory: Este metodo permite la construccion de distintas vistas para los paneles, es asi que tenemos los siguientes: Allaica, Hidalgo , Tupiza 7
  8. 8. 2010 ESCUELA POLITECNICA NACIONAL o Ejemplos: createEmptyBorder(): Este metodo quita el borde de los paneles createRaisedBevelBorder(): Este metodo forma un relieve sobre el panel. //AGREGACION DE LOS OBJETOS A LOS PANELES /** * PANEL 1 */ jPanel1.setLayout(null); jPanel1.setBorder(BorderFactory.createEtchedBorder()); addComponent(jPanel1, nom, 7,24,60,18); addComponent(jPanel1, fono, 7,45,60,18); addComponent(jPanel1, dir, 7,66,60,18); addComponent(jPanel1, nom_t, 67,15,424,22); Allaica, Hidalgo , Tupiza 8
  9. 9. 2010 ESCUELA POLITECNICA NACIONAL addComponent(jPanel1, fono_t, 67,40,424,22); addComponent(jPanel1, dir_t, 67,64,424,22); /** * PANEL 2 */ jPanel2.setLayout(null); jPanel2.setBorder(BorderFactory.createEtchedBorder()); addComponent(jPanel2, agregar, 11,16,83,28); addComponent(jPanel2, borrar, 10,54,83,28); addComponent(jPanel2, mostrar, 10,92,83,28); addComponent(jPanel2, limpiar, 9,132,83,28); /** * PANEL 3 */ jPanel4.setLayout(null); jPanel4.setBorder(BorderFactory.createRaisedBevelBorder()); jPanel6.setLayout(null); jPanel6.setBorder(BorderFactory.createEtchedBorder()); addComponent(jPanel6, jPanel4, 11,9,99,100); addComponent(jPanel6, jPanel5, 110,9,278,100); /** * PANEL 5 */ jPanel5.setLayout(null); jPanel5.setBorder(BorderFactory.createRaisedBevelBorder()); addComponent(jPanel5, et1, 9,15,60,17); addComponent(jPanel5, et2, 9,40,60,17); addComponent(jPanel5, et3, 9,65,60,17); addComponent(jPanel5, et4, 67,15,202,18); addComponent(jPanel5, et5, 67,40,202,18); Allaica, Hidalgo , Tupiza 9
  10. 10. 2010 ESCUELA POLITECNICA NACIONAL addComponent(jPanel5, et6, 67,65,202,18); /** * PANEL 6 */ jPanel3.setLayout(null); jPanel3.setBorder(BorderFactory.createEtchedBorder()); addComponent(jPanel3, Box2, 175,9,91,19); /** * AGREGACION AL APPLET */ contentPane.setLayout(null); addComponent(contentPane, jPanel1, 15,24,512,100); addComponent(contentPane, jPanel2, 17,140,104,171); addComponent(contentPane, jPanel3, 128,275,396,37); addComponent(contentPane, jPanel6, 129,141,399,128); //MODIFICANDO EL TAMAÑO DE LA VENTANA this.setLocation(new Point(0, 0)); this.setSize(new Dimension(556, 359)); } Allaica, Hidalgo , Tupiza 10
  11. 11. 2010 ESCUELA POLITECNICA NACIONAL private void Box2_actionPerformed(ActionEvent e){ String o = (String) Box2.getSelectedItem(); String cad=base.buscar(o); String []val=cad.split("_"); et4.setText(val[0]); et5.setText(val[1]); et6.setText(val[2]); } Metodo que implemeta el metodo Container y Component. o Container: Metodo que actua como un contenedor para objetos. o Component: Metodo que permite la inserción de un objeto de tipo(JButton, JTextField,…etc). o setBounds(x,y,width,height): Accesorio que guarda las posiciones y las dimensiones del objeto // METODO PARA LA AGREGACION DE OBJETOS EN UNA POSICION DETERMINADA private void addComponent(Container container,Component c,int x,int y,int width,int height) { c.setBounds(x,y,width,height); container.add(c); } Metodo que captura todos los sucesos provocados por los botones o ActionEvent: Metodo de la interface ActionListener de tipo event para la captura de eventos. public void actionPerformed(ActionEvent e) { try{ manejador(e); }catch(ExceptionInInitializerError e1){ Allaica, Hidalgo , Tupiza 11
  12. 12. 2010 ESCUELA POLITECNICA NACIONAL System.out.println("Error"); } } Manejador(): Metodo que permite la manipulación de los eventos, de acuerdo a las etiquetas de los botones. private void manejador(ActionEvent e) { String comand=e.getActionCommand(); if(comand.equals("Agregar")){ String a=nom_t.getText(); String b=fono_t.getText(); String c=dir_t.getText(); Persona body=new Persona(a,b,c); base.addPersona(body); } else if(comand.equals("Borrar")){ } else if(comand.equals("Mostrar")){ Box2.removeAllItems(); String cad=base.toString(); String []val=cad.split("_"); for(int i=0;i<val.length;i++){ Box2.addItem(val[i]); } } Allaica, Hidalgo , Tupiza 12
  13. 13. 2010 ESCUELA POLITECNICA NACIONAL else if(comand.equals("Nuevo")){ nom_t.setText(""); fono_t.setText(""); dir_t.setText(""); } else{ } } } VISTA PREVIA DEL RESULTADO DE LA UTILIZACION DE LOS METODOS. Esto es todo para la ejecución de la Applet y funcional en todo sentido, ahora hay que agregarle las funciones para que las ejecute. Allaica, Hidalgo , Tupiza 13
  14. 14. 2010 ESCUELA POLITECNICA NACIONAL CLASE BASE ArrayList<?>: Esta clase permite la manipulación de datos de tipo object import java.util.ArrayList; public class Base { //Creacion de una base para almacenar datos de tipo persona public ArrayList<Persona>persona; /** * Constructor para la inicializacion del array */ public Base(){ persona=new ArrayList<Persona>(); } /** * Metodo para la agregacion de una nueva persona al arreglo * @param p */ public void addPersona(Persona p){ persona.add(p); } /** * Metodo para la eliminacion de un contacto del arreglo * @param index */ public void deleteContacto(int index){ persona.remove(index); System.out.println("Delete Succesfull"); } /** * Metodo Sobreescrito para la estraccion de un arreglo en una linea de texto, * separado por un "_" * */ public String toString(){ String ref=""; for(Persona p:persona){ ref=ref+p.getNom()+"_"; Allaica, Hidalgo , Tupiza 14
  15. 15. 2010 ESCUELA POLITECNICA NACIONAL } return ref; } /** * Metodo para la búsqueda de una persona en el arreglo * @param ref * @return */ public String buscar(String ref){ String result=""; for(Persona p:persona){ if(ref.equals(p.getNom())){ result=result+p.getNom()+"_"+p.getTel()+"_"+p.getDir(); } } return result; } } Allaica, Hidalgo , Tupiza 15
  16. 16. 2010 ESCUELA POLITECNICA NACIONAL CLASE PERSONA public class Persona { //Creacion de variables de tipo String private String nom; private String dir; private String tel; /** * Constructor para la inicializacion de las variables * @param nom * @param tel * @param dir */ public Persona(String nom,String tel,String dir){ this.dir=dir; this.nom=nom; this.tel=tel; } /** * Metodo que retorna el nombre de la persona * @return */ public String getNom() { return nom; } /** * Metodo que inserta un nombre de una la persona * @param nom */ public void setNom(String nom) { this.nom = nom; } /** * Metodo para obtener la direccion * @return */ public String getDir() { return dir; } /** * Metodo para asignar una direccion * @param dir */ public void setDir(String dir) { this.dir = dir; } Allaica, Hidalgo , Tupiza 16
  17. 17. 2010 ESCUELA POLITECNICA NACIONAL /** * Metodo para obtener el telefono * @return */ public String getTel() { return tel; } /** * Metodo para asignar una telefono * @param tel */ public void setTel(String tel) { this.tel = tel; } } UML DEL PROYECTO AgendaPRO Base ~base: Base = new Base() +ArrayList<?>: Persona -nom: JLabel +Attribute2 -fono: JLabel -dir: JLabel +addPersona(p: Persona): void -et1: JLabel +deleteContacto(index: int): void -et2: JLabel +toString(): String -et3: JLabel +buscar(ref: String): String -et4: JLabel -et5: JLabel -et6: JLabel -agregar: JButton -borrar: JButton -mostrar: JButton -limpiar: JButton -contentPane: JPanel -jPanel1: JPanel -jPanel2: JPanel Persona -jPanel3: JPanel -nom: String -jPanel4: JPanel -dir: String -jPanel5: JPanel -tel: String -jPanel6: JPanel -nom_t: JTextField <<create>>+Persona(nom: String, tel: String, dir: String) -fono_t: JTextField +getNom(): String -dir_t: JTextField +setNom(nom: String) -Box2: JComboBox +getDir(): String ~index: int = 0 +setDir(dir: String) +getTel(): String +init() +setTel(tel: String) -Box2_actionPerformed(e: ActionEvent) +imprimePersona() -addComponent(container: Container, c: Component, x: int, y: int, width: int, height: int) +actionPerformed(e: ActionEvent) -manejador(e: ActionEvent) Allaica, Hidalgo , Tupiza 17
  18. 18. 2010 ESCUELA POLITECNICA NACIONAL Conclusiones: Los Applets son muy utilizado hoy en día para la estructuración de software educativo, que ayude a los mas pequeños a divertirse aprendiendo y jugando. La compañía SUN MICROSYTEM ha desarrollado gran cantidad de software libre para el desarrollo de aplicaciones java, entre las principales ha sido su evolución en el ámbito de las redes e Internet, las applets son la base para la evolución de la tecnología y disminución de la piratería, gracias a sus métodos envolventes que dificultan el robo de información. Allaica, Hidalgo , Tupiza 18

×