Package practica1.ui

Source Code of practica1.ui.TreeCellRendererComponent

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package practica1.ui;

import java.awt.Color;
import java.awt.Component;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
import practica1.controller.Controller;
import practica1.img.Imagenes;
import practica1.logic.LogicExperimento;
import practica1.logic.LogicPoblacion;

/**
* Clase que extiende de DefaultTreeCellRenderer y personaliza como se
* visualiza el jtree
* @author Miguel González - Ceura
*/
public class TreeCellRendererComponent extends DefaultTreeCellRenderer {   
     /**
      * Devuelve el componente que representa un nodo del JTree
      * @param tree JTree que llama a renderizar
      * @param value Valor a renderizar
      * @param selected Si el nodo está seleccionado
      * @param expanded Si el nodo está expandido
      * @param leaf Si es una hoja
      * @param row Fila donde se encuentra
      * @param hasFocus Si tiene el foco
      * @return Componente que representa el nodo
      */
    @Override
    public Component getTreeCellRendererComponent(JTree tree, Object value,
            boolean selected, boolean expanded, boolean leaf, int row,
            boolean hasFocus) {
       
        super.getTreeCellRendererComponent(
                        tree, value, selected,
                        expanded, leaf, row,
                        hasFocus);
       
        Object userObject = ((DefaultMutableTreeNode) value).getUserObject();
       
        if(userObject instanceof String) {
            setIcon(new ImageIcon(Imagenes.getImagen("experimentos.gif").
                    getScaledInstance(32, 32, Image.SCALE_DEFAULT)));
        }

        if(userObject instanceof LogicExperimento) {
            setIcon(new ImageIcon(Imagenes.getImagen("experimento.gif").
                    getScaledInstance(32, 32, Image.SCALE_DEFAULT)));
           
            LogicExperimento exPrin = Controller.getInstance().
                    getExperimentoPrincipal();
            if(exPrin != null) {
                if(exPrin.equals(userObject)) {
                    //Ponemos en negrita
                    setText("<html><b>" + getText() + "</b></html>");
                }
            }
           
            if(((LogicExperimento)userObject).isModified()) {
                setForeground(Color.RED);
            } else {
                setForeground(Color.BLACK);
            }
        }

        if(userObject instanceof LogicPoblacion) {
            setIcon(new ImageIcon(Imagenes.getImagen("poblacion.gif").
                    getScaledInstance(24, 24, Image.SCALE_DEFAULT)));
            LogicPoblacion pob = (LogicPoblacion) userObject;
            if(pob.isModified()) {
                setForeground(Color.RED);
            } else {
                setForeground(Color.BLACK);
            }
        }

        return this;
    }
}
TOP

Related Classes of practica1.ui.TreeCellRendererComponent

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.