Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/07/2015, 07:44
Avatar de GusGarsaky
GusGarsaky
 
Fecha de Ingreso: febrero-2015
Mensajes: 33
Antigüedad: 9 años, 2 meses
Puntos: 2
Respuesta: Pasar valores de un JList a un JTable

Busca en Google primero, te ahorras muchas horas esperando que alguien te responda cuando tienes la solución en los buscadores ;)

Directo al grano; en el post anterior te mostré la forma de obtener el ítem seleccionado del JList desde el ListModel. Entonces, esos objetos Meal, deberías de mostrarlos en el JTable de la siguiente forma:

Código Java:
Ver original
  1. listCategories.addSelectionListener(new ListSelectionListener() {
  2.      
  3.         @Override
  4.         public void valueChanged(ListSelectionEvent e) {
  5.             if(!e.getValueIsAdjusting()) {
  6.                 RestaurantDao dao = new RestaurantDao();
  7.                 // jlist origen del evento
  8.                 JList target = (JList) e.getSource();
  9.                 // index seleccionado en la lista
  10.                 int indexSelected = target.getSelectedIndex();
  11.                 // obtiene el listmodel y obtiene el objeto Category por index
  12.                 Category category = target.getSelectionModel().get(indexSelected);
  13.                 // obtiene la lista de platillos de acuerdo a la categoria
  14.                 List<Meal> meals = dao.getMealsByCategory(category.getId());
  15.                
  16.                 // pasas los platillos a la tabla...
  17.                 // mealsTable es el JTable
  18.                 Model tblModel = mealsTable.getModel();
  19.                 for(Meal meal : meals) {
  20.                     String name = meal.getName();
  21.                     float price = meal.getPrice();
  22.                     tblModel.addRow(new Object[] {name, price});
  23.                 }
  24.  
  25.             }
  26.         }
  27.     });