Foro de elhacker.net

Programación => Java => Mensaje iniciado por: manuhendrix en 20 Febrero 2013, 17:09 pm



Título: agregar diferentes arraylist a diferentes jlist
Publicado por: manuhendrix en 20 Febrero 2013, 17:09 pm
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

Código:
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

Código:
 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

Código:
 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!