Paleta mediante Nodos en NetBeans Platform
Página 1 de 1.
Paleta mediante Nodos en NetBeans Platform
Hola que tal amigos de Viruz Blog hoy por fin veremos como poder realizar nuestra primera paleta en la plataforma de NetBeans, como se menciono al final del post anterior existen 2 formas de crear una paleta las cuales son: mediante una jerarquía de nodos o mediante la jerarquía del archivo XML.
Como aun no conocemos muy bien este archivo XML (pero se conocerá) empezaremos por el modo de los nodos.
Lo que se necesita conocer
Pasos:
1. Se debe de contar con una librería la cual tiene por nombre Common Palette o en español "Paleta Común" por lo que toca agregar la dependencia, pero veras que no se encuentra junto con las demás.
Nota: Hay que recordar que al crear una aplicación de la plataforma de NetBeans no cuenta con todas las librerías solo las más básicas para evitar cargar todas.
Damos clic derecho en nuestra aplicación y al desplegarse el menú seleccionamos la opción de propiedades. En la parte de categorías seleccionamos Libraries y buscamos esta dependencia dentro del nodo "ide".
Como aun no conocemos muy bien este archivo XML (pero se conocerá) empezaremos por el modo de los nodos.
Lo que se necesita conocer
- Paleta en NBP
- Dependencias en NBP
Pasos:
1. Se debe de contar con una librería la cual tiene por nombre Common Palette o en español "Paleta Común" por lo que toca agregar la dependencia, pero veras que no se encuentra junto con las demás.
Nota: Hay que recordar que al crear una aplicación de la plataforma de NetBeans no cuenta con todas las librerías solo las más básicas para evitar cargar todas.
Damos clic derecho en nuestra aplicación y al desplegarse el menú seleccionamos la opción de propiedades. En la parte de categorías seleccionamos Libraries y buscamos esta dependencia dentro del nodo "ide".
[Tienes que estar registrado y conectado para ver esa imagen]
Una vez encontradas las seleccionamos y damos clic en el botón de "Ok".[Tienes que estar registrado y conectado para ver esa imagen]
Listo ahora ya que se encuentra en la aplicación toca agregarla al módulo como ya se ha venido realizando.[/justify][Tienes que estar registrado y conectado para ver esa imagen]
2. Trabajando en nuestro primero módulo vamos a crear un nuevo paquete, damos clic izquierdo sobre el paquete "org.prueba.modulo" la opción de New > Java Package. De nombre ponemos paleta a este nuevo paquete, quedando de la siguiente manera.
3. Ahora crearemos una nueva ventana dentro del paquete con una posición de editor y otorgamos un nombre en mi caso será EditorPaleta.
Dentro de esta nueva ventana declaramos las siguientes clases junto con sus importaciones:
Dentro de esta nueva ventana declaramos las siguientes clases junto con sus importaciones:
- Spoiler:
- //Importaciones
import org.prueba.modulo.NodoRaiz;
import org.netbeans.spi.palette.PaletteController;
//Clases
private PaletteController paleta = null;
private NodoRaiz paletaRoot;
- Spoiler:
- private PaletteController getPalette() {
if( null == paleta ) {
paletaRoot = new NodoRaiz(new SubCategoria());
paletaRoot.setName("Paleta Root");
paleta = PaletteFactory.createPalette( paletaRoot,
new PaletaAcciones(), null, null );
}
return paleta;
}
package org.prueba.modulo.paleta;
import javax.swing.Action;
import org.netbeans.spi.palette.PaletteActions;
import org.openide.util.Lookup;
/**
*
* @author Viruz
*/
public class PaletaAcciones extends PaletteActions {
@Override
public Action[] getImportActions() {
return null;
}
@Override
public Action[] getCustomPaletteActions() {
return null;
}
@Override
public Action[] getCustomCategoryActions(Lookup lookup) {
return null;
}
@Override
public Action[] getCustomItemActions(Lookup lookup) {
return null;
}
@Override
public Action getPreferredAction(Lookup lookup) {
return null;
}
}
6. Ahora toca habilitar la opción de poder arrastrar y soltar los items de la paleta, para ellos vamos a crear otra clase llamada ArrastrarySoltar la cual contendrá lo siguiente:
7. Ahora crearemos en la ventana un objeto de la clase ArrastrarySoltar.
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;
import org.netbeans.spi.palette.DragAndDropHandler;
import org.openide.util.Lookup;
import org.openide.util.datatransfer.ExTransferable;
import org.prueba.modulo.CategoriaNodo2;
/**
*
* @author Viruz
*/
public class ArrastrarySoltar {
public static final DataFlavor dataFlavor
= new DataFlavor( Object.class, "MyDND" );
class MyDragAndDropHandler extends DragAndDropHandler {
@Override
public void customize(ExTransferable exTransferable, Lookup lookup) {
final CategoriaNodo2 item = (CategoriaNodo2)lookup.lookup( CategoriaNodo2.class );
if( null != item ) {
exTransferable.put( new ExTransferable.Single( dataFlavor ) {
@Override
protected Object getData() throws IOException, UnsupportedFlavorException {
return null;
}
});
}
}
}
}
7. Ahora crearemos en la ventana un objeto de la clase ArrastrarySoltar.
- Spoiler:
- private ArrastrarySoltar dnd = new ArrastrarySoltar();
- Spoiler:
- paleta = PaletteFactory.createPalette( paletaRoot, new PaletaAcciones(), null, null );
- Spoiler:
- paleta = PaletteFactory.createPalette( paletaRoot, new PaletaAcciones(), null, dnd.new MyDragAndDropHandler());
- Spoiler:
- associateLookup( Lookups.fixed( new Object[] {getPalette()} ));
[Tienes que estar registrado y conectado para ver esa imagen]
Autor: Viruz Enlace: Paleta mediante nodos (Parte 1)
Temas similares
» Paleta mediante Nodos en NetBeans Platform parte 2
» Paleta mediante XML en NetBeans Platform
» Paleta mediante FileType en NetBeans Platform
» Paleta mediante XML en NetBeans Platform parte 2
» Paleta mediante XML en NetBeans Platform parte 3
» Paleta mediante XML en NetBeans Platform
» Paleta mediante FileType en NetBeans Platform
» Paleta mediante XML en NetBeans Platform parte 2
» Paleta mediante XML en NetBeans Platform parte 3
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.