agregar diferentes arraylist a diferentes jlist

Iniciado por manuhendrix, 20 Febrero 2013, 17:09 PM

0 Miembros y 1 Visitante están viendo este tema.

manuhendrix

Hola, como estan, estoy teniendo un problema. Estoy haciendo un programa organizador de tareas, en el que el usuario crea Categorias, por ejemplo la categoria trabajo, y agrega las tareas que debe hacer relacionadas a esa categoria.

Yo tengo la clase Categoria, que es en si un ArrayList que se llena de objetos "Tarea".
Despues tengo la clase CategoryVisual, que, cada vez que se crea una nueva categoria, agrega una pestaña a un Jtabbedpane, con el nombre de la categoria, un jlist para mostrar las tareas y un boton para crear una nueva tarea.

Lo que me esta pasando es que cada vez que quiero agregar una tarea, se me agrega a la ultima pestaña creada y no a la que selecciono, me gustaria que el usuario se parara sobre la pestaña, clickeara el boton y la tarea se creara automaticamente en la pestaña seleccionada.

Yo tengo este metodo, que no esta funcionando

public void addTaskToList(){

        JTabbedPane tabbedPane = MainWindow.getTabbedPane();
        int selectedTab = tabbedPane.getSelectedIndex();

        category = NewCategoryAction.createdCategories.get(selectedTab);
        category.addTask(newTask);

        CategoryVisual categoryVisual = NewCategoryAction.createdCategoryVisuals.get(selectedTab);
        categoryVisual.setCategory(category);



    }


   
aca se crea la nueva categoria, y cada categoria se guarda en un arraylist(createdCategories y created categoryVisuals

public NewCategoryAction(JTabbedPane tabbedPane){

        super(ResourceBundle.getBundle("Language").getString("locale_button_newCategory"));

        this.tabbedPane = tabbedPane;

        createdCategories = new ArrayList<Category>();
        createdCategoryVisuals = new ArrayList<CategoryVisual>();


    }

    public String askCategoryName(){

        newCategoryName = JOptionPane.showInputDialog(ResourceBundle.getBundle("Language").getString("locale_label_enterNewCategoryName"));

        return newCategoryName;

    }

    public void actionPerformed(ActionEvent e){

        askCategoryName();

        try{

        while (newCategoryName.equalsIgnoreCase("")){


            JOptionPane.showMessageDialog(null,"You must enter a name","New Category name",JOptionPane.ERROR_MESSAGE);

            askCategoryName();

        }

            if(newCategoryName!=null){


                newCategory = new Category(newCategoryName);
                createdCategories.add(newCategory);

                categoryVisual = new CategoryVisual(tabbedPane,newCategoryName,newCategory);
                createdCategoryVisuals.add(categoryVisual);


            }
        }
        catch (NullPointerException npe){

        }

    }


     y por ultimo el metodo setCategory(), que esta en la clase CategoryVisual

public void setCategory(Category category){

         this.category = category;

         list.setListData(category.getTaskList().toArray());


      }


      Bueno si alguien me puede iluminar un poco, les agradecere muchisimo!
      saludos!