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!