Nodos en NetBeans Platform parte 4
Página 1 de 1.
Nodos en NetBeans Platform parte 4
En tutorial que es la 4ta entrega vamos a retocar los últimos detalles como son: acciones, iconos en el nodo raíz, entre otros. Primero tocaremos el tema de las acciones los cuales nos permitirán mediante un JPopMenu ejecutar dichas funciones puestas para el usuario.
Lo que necesitas conocer
1. Primero agregaremos una dependencia para que podamos importar las acciones, la cual tiene por nombre "Action's API".
Lo que necesitas conocer
- Dependencias en NBP
- Nodos en NBP (Parte 2)
- Nodos en NBP (Parte 3)
1. Primero agregaremos una dependencia para que podamos importar las acciones, la cual tiene por nombre "Action's API".
[Tienes que estar registrado y conectado para ver esa imagen]
2. Debemos abrir nuestras clases CategoriaNodo y CategoriaNodo2 que como hay que recordar al heredar de la clase AbstractNode son las encargadas de llevar las características de los nodos llámese nombre, iconos, descripción, etcétera.
Y no siendo la excepción para las acciones que se lleguen a realizar en los nodos, para ello ocuparemos el método getActions() donde lo incluiremos en las 2 clases quedando de la siguiente manera:
Y no siendo la excepción para las acciones que se lleguen a realizar en los nodos, para ello ocuparemos el método getActions() donde lo incluiremos en las 2 clases quedando de la siguiente manera:
public Action[] getActions(boolean popup) {
return new Action[] {
SystemAction.get( CopyAction.class ),
SystemAction.get( CutAction.class ),
SystemAction.get( PasteAction.class),
SystemAction.get( DeleteAction.class )
};
}
Como se conoce al agregar nuevas clases debes agregar importaciones y estas quedan de la siguiente forma:
- Spoiler:
- import javax.swing.Action;
import org.openide.actions.CopyAction;
import org.openide.actions.CutAction;
import org.openide.actions.DeleteAction;
import org.openide.actions.PasteAction;
import org.openide.util.actions.SystemAction;
Con estas acciones agregas se cuentan con las 4 funciones principales con las que siempre cuenta una aplicación como son: copiar, cortar, borrar y pegar.
3. Después necesitamos abrir nuestro TopComponent que contiene el componente BeanTreeView (donde se encuentran los nodos) y en la parte del constructor agregamos las siguientes líneas que servirán para poder habilitar nuestras acciones de lo contrario se verán pero no podrán ser ejecutadas.
3. Después necesitamos abrir nuestro TopComponent que contiene el componente BeanTreeView (donde se encuentran los nodos) y en la parte del constructor agregamos las siguientes líneas que servirán para poder habilitar nuestras acciones de lo contrario se verán pero no podrán ser ejecutadas.
- Spoiler:
- ActionMap map = getActionMap();
map.put(DefaultEditorKit.copyAction, ExplorerUtils.actionCopy(explorerManager));
map.put(DefaultEditorKit.cutAction, ExplorerUtils.actionCut(explorerManager));
map.put(DefaultEditorKit.pasteAction, ExplorerUtils.actionPaste(explorerManager));
map.put("delete", ExplorerUtils.actionDelete(explorerManager, true));
- Spoiler:
- import javax.swing.ActionMap;
import javax.swing.text.DefaultEditorKit;
[Tienes que estar registrado y conectado para ver esa imagen]
Ahora toca el turno de ver como agregar un icono a nuestro Nodo Raíz que tiene por nombre Mi Categoría.
Pasos:
1. Primero se debe agregar una nueva clase de java llamada "NodoRaiz.java" y hacemos que herede de AbstractNode y contendrá los métodos getIcon() y getOpenedIcon().
El primero se encarga de visualizar el icono que esta por defecto y el segundo cambia el icono cuando el nodo raíz se despliegue.
Pasos:
1. Primero se debe agregar una nueva clase de java llamada "NodoRaiz.java" y hacemos que herede de AbstractNode y contendrá los métodos getIcon() y getOpenedIcon().
El primero se encarga de visualizar el icono que esta por defecto y el segundo cambia el icono cuando el nodo raíz se despliegue.
import java.awt.Image;
import org.openide.nodes.AbstractNode;
import org.openide.nodes.Children;
import org.openide.util.Utilities;
/**
*
* @author Viruz
*/
public class NodoRaiz extends AbstractNode {
public NodoRaiz(Children children) {
super(children);
}
public Image getIcon(int type) {
return Utilities.loadImage("org/prueba/modulo/arrow_right.png");
}
public Image getOpenedIcon(int type) {
return Utilities.loadImage("org/prueba/modulo/arrow_down.png");
}
}
2. Por último debemos cambiar la siguiente línea de código en el constructor de la ventana:
- Spoiler:
- explorerManager.setRootContext(new AbstractNode(new SubCategoria()));
- Spoiler:
- explorerManager.setRootContext(new NodoRaiz(new SubCategoria()));
[Tienes que estar registrado y conectado para ver esa imagen]
Ya para finalizar este tutorial vamos a conocer a como ocultar este nodo raíz que le acabamos de poner un icono representativo y esto va a depender del usuario si así lo desee.
Pasos:
1. Esto se puede realizar añadiendo la siguiente línea de código en el constructor:
Pasos:
1. Esto se puede realizar añadiendo la siguiente línea de código en el constructor:
- Spoiler:
- beanTreeView1.setRootVisible(false);
[Tienes que estar registrado y conectado para ver esa imagen]
Autor: Viruz
Enlace: Nodos en NetBeans Platform (Parte 4)
Temas similares
» Nodos en NetBeans Platform parte 2
» Nodos en NetBeans Platform parte 3
» Nodos en NetBeans Platform parte 5
» Nodos en NetBeans Platform parte 6
» Paleta mediante Nodos en NetBeans Platform parte 2
» Nodos en NetBeans Platform parte 3
» Nodos en NetBeans Platform parte 5
» Nodos en NetBeans Platform parte 6
» Paleta mediante Nodos en NetBeans Platform parte 2
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|