Foro de elhacker.net

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



Título: Extrae datos de un Vector y mostrarlos en un Jtable de java
Publicado por: wilru en 1 Junio 2010, 16:17 pm
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 puedan brindar
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

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

/**
 *   clase  reserva
 */
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 Formulario_reserva:  ************

/**
 *    FORMULARIO_RESERVA  :  desde aqui se capturan los datos del cliente y de la habitacion, habitaciones es la clase que nos falta
 *    por desarrollar
 */

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

   
   
   
   
}


***********Y esta es una vaga idea no terminada donde queremos mostrar las habitaciones disponibles y ocupadas, al igual que los datos del cliente en las habitaciones ocupadas a traves de un Jtable el cual debe recibir informacion del Vector donde se estan guardando los datos(Formulario_Reserva), hace falta esto y crear las habitaciones: dos tipos---> simple y doble, y 3 o 4 habitaciones por tipo

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);
            }
        });
       
       
    }
   

Mil gracias por la orientacion  cualquier tipo de ayuda que me puedan brindar:
wilru25@hotmail.com