Foros del Web » Programación para mayores de 30 ;) » Java »

ayuda con java

Estas en el tema de ayuda con java en el foro de Java en Foros del Web. necesito ayuda for favor!! resulta que tengo que hacer un trabajo donde: las ventanas y el comportamiento utilizado para el mantenimiento de personas, productos, etc ...
  #1 (permalink)  
Antiguo 31/05/2010, 00:11
 
Fecha de Ingreso: mayo-2010
Mensajes: 4
Antigüedad: 13 años, 10 meses
Puntos: 0
ayuda con java

necesito ayuda for favor!!
resulta que tengo que hacer un trabajo donde: las ventanas y el comportamiento utilizado para el mantenimiento de personas, productos, etc (alta, baja, y modificaciones) deberán ser reutulizables. Es decir, no se podrá construir varias pantallas que hacen lo mismo repitiendo el código. tengo idea que hay q utilizar clases abstractas y eso pero no tengo idea. Alguien me puede explicar algo o dareme un ejemplo?? graciasss
  #2 (permalink)  
Antiguo 31/05/2010, 02:13
 
Fecha de Ingreso: mayo-2010
Mensajes: 4
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: ayuda con java

porfavor ayudenme!!!!!!
  #3 (permalink)  
Antiguo 31/05/2010, 08:59
 
Fecha de Ingreso: abril-2010
Ubicación: Manizales
Mensajes: 91
Antigüedad: 14 años
Puntos: 2
Respuesta: ayuda con java

La verdad no te entiendo, si te puedes explicar un poco mejor te lo agradecería.
Según lo que te entendí tal vez necesites la herencia, porque las clases abstractas solo declaran las cabeceras de los métodos, con la herencia pudes hacer una clase padre que tenga comportamientos que necesites que sean reutilizados y heredas de ella por ejemplo:
En una compañia tienes trabajadores, los cuales se dividen en obreros, ingenieros, y ejecutivos:

Para plantear esto reutilizando código podrías hacerlo asi:

Código java:
Ver original
  1. public class Trabajador
  2. {
  3.          //Toda le declaración de la clase......
  4.          //Comportamientos comunes a los tres trabajadores
  5. }
  6.  
  7. public class Ejecutivo extends Trabajador
  8. {
  9.          //Lo que hace un ejecutivo que no haga
  10.          //Otro empleado
  11. }
  12.  
  13. public class Obrero extends Trabajador
  14. {
  15.          //Lo que diferncia un obrero de los otros
  16. }
  17.  
  18. //Y asi para el ingeniero

Espero que te sirva, sino avisame por aca mismo
  #4 (permalink)  
Antiguo 31/05/2010, 12:17
 
Fecha de Ingreso: mayo-2010
Mensajes: 4
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: ayuda con java

hola!! gracias por contestar!! lo que necesito es lo siguiente:
resulta que hice un formulario para alta, baja y modificacion de CLIENTES. Ahora tengo que hacer lo mismo para ARTICULOS, PROVEEDORES, etc.
Lo que me pide el trabajo es reutilizar el código. O sea, que frmARTICULOS y frmPROVEEDORES hereden de alguna manera de frmCLIENTES. Que herede por ejemplo: botones, txt, label, el código que pongo dentro de el boton agregar(por ejemplo), etc.
Nosé si queda mas claro???
GRACIAS!!!!
  #5 (permalink)  
Antiguo 31/05/2010, 21:18
 
Fecha de Ingreso: abril-2010
Ubicación: Manizales
Mensajes: 91
Antigüedad: 14 años
Puntos: 2
Respuesta: ayuda con java

Tal vez esto responda tu pregunta, puedes heredar de JFrame

mira estas dos clases, correlas por aparte y mira el resultado, creo que esto es lo que necesitas:

Código Java:
Ver original
  1. import javax.swing.*;
  2. import java.awt.*;
  3.  
  4. public class HolaSwing extends JFrame
  5. {
  6.       private JTextField paraEscribir; //Un area de texto
  7.       private JButton paraPresionar; //Un boton
  8.       private JLabel paraVer;           //Una etiqueta para ver
  9.  
  10.       public HolaSwing()  //constructor de la clase HolaSwing
  11.       {
  12.             init(); //definimos el metodo de inicalizacion
  13.       }
  14.      
  15.       public void init()
  16.       {
  17.             Container c = getContentPane();  //Extraemos el contenedor del JFrame
  18.             c.setLayout(new FlowLayout());   //Fijamos el manejador de espacio
  19.            
  20.             paraEscribir = new JTextField("Mi primer area de texto", 15); //Como parametro el constructor recibe el numero de espacios para el JTextField
  21.             paraPresionar = new JButton("Este es mi primer boton"); //Creamos el boton con su contenido
  22.             paraVer = new JLabel("Mi primera Etiqueta");
  23.            
  24.             c.add(paraEscribir);    
  25.             c.add(paraPresionar);   //  Aca agragamos cada uno de los componentes a nuestro JFrame,
  26.             c.add(paraVer);     //  Esto es necesario, pues sino, el JFrame no nos va a mostar nada
  27.             pack(); //Hace que la ventana coga el tamaño más pequeño posible para visualizar todos los componentes
  28.            
  29.             /*
  30.                 para terminar tenemos que fijar la forma en como nuestra aplicacion
  31.                 va a terminar la ejecución, pues por defecto java no da por hecho que al
  32.                 cerrar el JFrame el programa finaliza
  33.             */                             
  34.            
  35.             setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  36.            
  37.             //Si queremos porner un titulo a la ventana utilizamos el metodo setTitle, asi
  38.            
  39.             setTitle("Mi primer JFrame");
  40.       }
  41.      
  42.       public static void main(String args[]) //La entrada al programa
  43.       {
  44.             new HolaSwing().setVisible(true);
  45.       }
  46. }

Esta es la clase que hereda de HolaSwing

Código Java:
Ver original
  1. import javax.swing.*;
  2. import java.awt.*;
  3.  
  4. public class Frame1 extends HolaSwing
  5. {
  6.     public Frame1()
  7.     {
  8.         super();
  9.         init1();
  10.     }
  11.    
  12.     public void init1()
  13.     {
  14.         JButton boton3;
  15.        
  16.         boton3 = new JButton("Este es del nuevo form");
  17.         Container c = getContentPane();
  18.        
  19.         c.add(boton3);
  20.        
  21.         setSize(500, 500);
  22.     }
  23.    
  24.     public static void main(String args[])
  25.     {
  26.         new Frame1().setVisible(true);
  27.     }
  28. }

Si necesitas algo mas solo avisame

Última edición por afruizc; 31/05/2010 a las 21:26
  #6 (permalink)  
Antiguo 01/06/2010, 02:03
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: ayuda con java

Otra opción sería que pusieses un combo y tener unas variables estandarizadas de forma que según sea el combo elegido se modifiquen automáticamente. Así con un mismo formulario puedes hacer todo.
  #7 (permalink)  
Antiguo 01/06/2010, 14:45
 
Fecha de Ingreso: mayo-2010
Mensajes: 4
Antigüedad: 13 años, 10 meses
Puntos: 0
Sonrisa Respuesta: ayuda con java

Muchas gracias en verdad me han ayudado!!! voy a probar y les aviso!!!! GRACIAS!!!
  #8 (permalink)  
Antiguo 02/06/2010, 23:38
uv3
 
Fecha de Ingreso: noviembre-2009
Mensajes: 31
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ayuda con java

Estoy tambien interesado en el tema, pero lo que no consigo entender es cual es el beneficio de crear los formularios de esa manera...No me queda claro lo de que en un formulario solo puedo hacer todo..

Última edición por uv3; 03/06/2010 a las 00:05
  #9 (permalink)  
Antiguo 03/06/2010, 00:58
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: ayuda con java

Básicamente te ahorras repetir código de forma innecesaria. Si vas a cambiar el formato de algo, añadir nuevos campos, etc, y son comunes a todos, el mantenimiento de código se hace mucho más sencillo ya que sólo tendrías que realizar un único cambio, en vez de repetir innecesariamente la misma modificación en varios archivos, pudiéndote dejar alguno atrás...
  #10 (permalink)  
Antiguo 03/06/2010, 14:00
 
Fecha de Ingreso: abril-2010
Ubicación: Manizales
Mensajes: 91
Antigüedad: 14 años
Puntos: 2
Respuesta: ayuda con java

Exactamente lo que dicen arriba

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:49.