Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: wilru en 1 Junio 2010, 23:42 pm



Título: Vaciar los datos de un Vector a un Jtable, necesito poder terminar este trabajo:
Publicado por: wilru en 1 Junio 2010, 23:42 pm
Cordial saludo.

... y vi que sos un teso en programacion, quiero comentarte lo siguiente y con todo respeto, solicitar tu ayuda aprovechando tu espiritu colaborador y gran conocimiento:

Estoy desarrollando un pequeño proyecto para la materia de Programacion Orientada a objetos, la cual vemos en Java, consiste en la gestion de reservas para un pequeño hotel o residencia, en el cual se tiene una clase que me muestra los menus de opciones y gestiona la validacion de un usuario Administrador y otro Recepcionista(digitan login y password) para poder ingresar al sistema, otra llamada Formulario_reserva la cual captura la informacion del cliente a registrar invocando a su vez a otra clase que gestiona la reserva: crea(), elimina() y consulta(), en la clase Formulario_reserva existe un boton de "consulta" el cual al ser presionado debe de ir a otra clase llamada habitaciones en la cual queremos mostrar la disponibilidad de habitaciones en el momento de la  consulta, es decir, se tiene pensado dos tipos de habitaciones: simple y doble, aqui se debe visualizar las habitaciones libre y ocupadas por cada tipo, ademas al ser seleccionada una habitacion debe traer este dato a Formulario_reserva para guardar en un vector(de la Clase Vector de Java) junto con los demas datos del Formulario_reserva, y tambien actualizar la informcion para que en una segunda o tercer ingreso de un cliente nuevo, la habitacion anteriormente seleccionada aparezca ocupada, si una reserva es cancelada igualmente la habitacion ocupada debe aparecer como libre.

Espero ser claro en este requerimiento y agradezco inmensamente cualquier ayuda u orientacion que me puedas brindar si es tu campo y si dispones de tiempo.
El proyecto se desarrolla tipo aplicacion de escritorio en java, lo estamos haciendo en JCreator y/o eclipse. me urge terminarlo pues es trabajo final de semestre y apenas empiezo a dar pasos en programacion

Te adjunto lo que tenemos desarrollado hasta ahora, lo cual funciona correctamente, solo falta la implementacion de Habitciones...

muchisimas gracias y por favor disculpa mi atrevimiento.


/**
 * @(#)Form_Reserva.java
 *
 *
 * @author
 * @version 1.00 2010/5/31
 */

import java.awt.Button;
import java.awt.Event;
import java.awt.Frame;
import java.awt.GridLayout;
import java.util.Vector;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.lang.*;
import java.util.*;
public class Form_Reserva extends JFrame
{
   //Habitaciones Hb = new Habitaciones();
   public static Vector R = new Vector();
   
   JLabel tipo       = new JLabel("Tipo de Habitación:");
   JLabel nomb       = new JLabel("Nombre:");
   JLabel apel       = new JLabel("Apellido:");
   JLabel cc         = new JLabel("Cedula:");
   JLabel dir        = new JLabel("Direccion:");
    JLabel tel        = new JLabel("Telefono:");
   JLabel Habit      = new JLabel("Habitación:");
   JLabel Nhabit     = new JLabel("");
   
   JTextField nombre = new JTextField("",20);
   JTextField apell = new JTextField("",20);
   JTextField ced = new JTextField("",20);
   JTextField direc = new JTextField("",20);
   JTextField tele = new JTextField("",20);
   
   Button guardar = new Button("Guardar");
   Button cancelar = new Button("Cancelar");
   Button consul = new Button("Consultar");
   
   CheckboxGroup habita = new CheckboxGroup();
   Checkbox s = new Checkbox("Simple");
   Checkbox d = new Checkbox("Doble");
   
     

   
   

    public Form_Reserva()
    {
        try
        {
           init();
        }
        catch(Exception ex)
        {
           ex.printStackTrace();
        }
    }
     void init()throws Exception
    {
        //setLayout(new GridLayout(8,2,3,2));
        Container pane  = getContentPane();
      JPanel    panel = new JPanel(new FlowLayout());
        s.setCheckboxGroup(habita);
        d.setCheckboxGroup(habita);
        s.setState(true);
       
       panel.add(tipo); panel.add(s); panel.add(d);
       panel.add(consul);
       pane.add(panel, BorderLayout.NORTH);
        panel = new JPanel(new GridLayout(1,1));
       panel.add(new Label("     ======================================================  "));
        pane.add(panel, BorderLayout.CENTER);
       
       panel = new JPanel(new GridLayout(8,2,4,4));
       
       
       panel.add(cc,null);      panel.add(ced,null);   
       panel.add(nomb,null);    panel.add(nombre,null);
       panel.add(apel,null);   panel.add(apell,null);
       panel.add(dir,null);    panel.add(direc,null);
       panel.add(tel,null);    panel.add(tele,null);
       panel.add(Habit,null);    panel.add(Nhabit,null);
       panel.add( guardar,null);    panel.add(cancelar,null);
       pane.add(panel, BorderLayout.SOUTH);
       pack();
       setLocationRelativeTo(null);
       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       
       
    }
    public static void main(String args[])
   {
     
      Form_Reserva F= new Form_Reserva();
      F.setLocation(350,250);
      F.setVisible(true);
      F.pack();
     
     
   
   }
   public boolean action (Event t, Object arg)
    {
       if(t.target== guardar)
       {
             
          Reserva r = new Reserva();
          r.CrearR((nombre.getText()),(apell.getText()),(ced.getText()),(direc.getText()),(tele.getText()) );
          R.addElement(r);
          int tv=R.size();
     
           for(int i=0;i<tv;i++){
           System.out.println(" Vector  "+R.toString());
           Reserva x=(Reserva)R.elementAt(i);
           JOptionPane.showMessageDialog(null,"Creacion Exitosa, Datos de la Reserva:\n\n Codigo:  "+r.cod_r  + " \n Nombre:  "+x.Nombre+ "\n Apellido:  "+x.Apellido+ "\n Cedula:  "+x.Cedula+"\n Direccion:  "+x.Direccion+ "\n Telefono:  "+x.Telefono +"");
           //JOptionPane.showMessageDialog(null,"Creacion Exitosa, Datos de la Reserva:\n\n   "+R.elementAt(i));
           
           
      }   
             
             
         
          return true;
         
         
       }
   
      if(t.target== cancelar)
       {
          System.exit(0);
       }
     
       if(t.target== consul)
       {
       JOptionPane.showMessageDialog(null,"Click en consiltar,");
          return true;
       }
      return false;
       
       
    }

   
   
   
   
}

la  clase reserva:*************

/**
 * @(#)Reserva.java
 *
 *
 * @author
 * @version 1.00 2010/5/31
 */
import javax.swing.*;
import java.lang.*;
import java.util.*;
import java.awt.*;


public class Reserva
 {
   
    //Form_Reserva Fr= new Form_Reserva();
   
   
    public String Nombre, Apellido, Cedula, Direccion, Telefono; 
    public int cod_r;   
   
    public Reserva()
    {
       
    }
   
    void CrearR(String n,String a,String c, String d, String t )
    {
       this.Nombre    =n;
       this.Apellido  =a;
       this.Cedula    =c;
       this.Direccion =d;
       this.Telefono  =t;
       this.cod_r     =Integer.parseInt(c);
   

    }
    String ConsultaR()
    {
       return   "Nombre : "+Nombre+"Apellido : "+Apellido+"Cedula : "+Cedula+"Direccion : "+Direccion+"Telefono : "+Telefono+"Codigo Reserva:"+cod_r;
    }
    String CancelarR()
    {
       return   "Se elimina Reserva:\n\nNombre : "+Nombre+"Apellido : "+Apellido+"Cedula : "+Cedula+"Direccion : "+Direccion+"Telefono : "+Telefono+"Codigo Reserva:"+cod_r;
    }
   
   
   
}

Ahora la clase que queremos implementar, he aqui una vaga idea: JTable para mostrar los datos del vector creado en la clase Formulario_Reserva, y gestionar disponibilidad de habitaciones:


/**
 * @(#)Habitaciones.java
 *
 *
 * @author
 * @version 1.00 2010/5/31
 */
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.*;

public class Habitaciones extends JFrame
{
    //Form_Reserva Fr= new Form_Reserva();
   // Reserva      R = new Reserva();
   
   
   
   
    public Habitaciones()
    {
       
       super("Gestion Habitaciones");
       
        String[] columnNames = {"Cedula ", "Apellido"};

        //se crea la Tabla
        final JTable table = new JTable(data, columnNames);
       
        table.setPreferredScrollableViewportSize(new Dimension(300, 100));


        //Creamos un JscrollPane y le agregamos la JTable
        JScrollPane scrollPane = new JScrollPane(table);

        //Agregamos el JScrollPane al contenedor
        getContentPane().add(scrollPane, BorderLayout.CENTER);

        //manejamos la salida
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
       
       
    }
   
     public static void main(String[] args)
     {
        Habitaciones h = new Habitaciones();
        h.pack();
        h.setVisible(true);
    }
   
   
}