//Es una población
String nombrePoblacion = ramaNodoSeleccionado.toString();
String nombreExperimento = ramaNodoSeleccionado.
getPath()[1].toString();
LogicPoblacion poblacion = ((LogicPoblacion)
((DefaultMutableTreeNode)
ramaNodoSeleccionado.getPath()[2])
.getUserObject());
//Abrimos la población
controlador.abrirPoblacion(poblacion);
}
} else if(e.getClickCount() == 1 &&
e.getButton() == MouseEvent.BUTTON3) {
try {
//Con el botón derecho tenemos que seleccionar el nodo manualmente
int row = arbolExperimentos.getRowForLocation(
e.getX(), e.getY());
arbolExperimentos.addSelectionRow(row);
//Volvemos a pedir el nodo seleccionado
ramaNodoSeleccionado =
arbolExperimentos.getSelectionPath();
//Comprobamos que tipo de nodo es
if(ramaNodoSeleccionado.getPath().length == 1) {
//Si es la raíz experimentos
popupMenuExperimentos.show((JComponent)e.getSource(),
e.getX(), e.getY());
} else if(ramaNodoSeleccionado.getPath().length == 2) {
//Si es un experimento
controlador.setExperimentoSeleccionado((LogicExperimento)
((DefaultMutableTreeNode)
ramaNodoSeleccionado.getPath()[1])
.getUserObject());
popupMenuExperimento.show((JComponent)e.getSource(),
e.getX(), e.getY());
} else if(ramaNodoSeleccionado.getPath().length == 3) {
//Es una población
String nombrePoblacion = ramaNodoSeleccionado.toString();
String nombreExperimento = ramaNodoSeleccionado.
getPath()[1].toString();
LogicExperimento experimento = ((LogicExperimento)
((DefaultMutableTreeNode)
ramaNodoSeleccionado.getPath()[1])
.getUserObject());
LogicPoblacion poblacion = ((LogicPoblacion)
((DefaultMutableTreeNode)
ramaNodoSeleccionado.getPath()[2])
.getUserObject());
controlador.setExperimentoSeleccionado(experimento);