Paleta mediante FileType en NetBeans Platform parte 2
Página 1 de 1.
Paleta mediante FileType en NetBeans Platform parte 2
El presente post veremos algunas de las opciones que podemos realizar en esta tercera paleta que hemos creado con nuestro propia extensión, antes de empezar debemos irnos a tutoriales pasados para recordar que como se logro hacer en la paleta mediante nodos se tenían 3 clases: la de los métodos set() y get(), la que leía esos métodos y la que asociaba con la paleta.
Bueno en esta ocasión se tomarán esas bases para realizar el siguiente ejercicio.
Lo que se necesita conocer:
Pasos:
Para mayor comodidad siempre me gusta separar las cosas por paquetes y esta no será la excepción, crearemos un nuevo paquete llamado itverData, en el contendrá las clases a crear en este tutorial y después poder reconocer su funcionamiento.
1. Teniendo en cuenta que tenemos en el paquete de items 2 tipos de archivo .itver abriremos uno lo cual aparecerá de contenido un texto que dice sample content (contenido simple), lo borraremos y para comenzar pondremos las siguientes 5 opciones:
3. Toca el turno de crear la clase que leerá el método get() de cada uno de los componentes esta clase la nombraremos NodoItverData.
4. Por último en la clase ItverDataObject que se creó cuando elaboramos el tipo de archivo, agregaremos en su constructor lo siguiente:
Enlace: Paleta mediante FileType (Parte 2)
Bueno en esta ocasión se tomarán esas bases para realizar el siguiente ejercicio.
Lo que se necesita conocer:
- Paleta mediante nodos (Parte 1)
- Paleta mediante FileType (Parte 1)
Pasos:
Para mayor comodidad siempre me gusta separar las cosas por paquetes y esta no será la excepción, crearemos un nuevo paquete llamado itverData, en el contendrá las clases a crear en este tutorial y después poder reconocer su funcionamiento.
1. Teniendo en cuenta que tenemos en el paquete de items 2 tipos de archivo .itver abriremos uno lo cual aparecerá de contenido un texto que dice sample content (contenido simple), lo borraremos y para comenzar pondremos las siguientes 5 opciones:
- id.
- nombre.
- icono 16.
- icono 32.
- comentario.
- id: id1
- nombre: Clase
- comentario: Clase del Diagrama de Clases
- icon16: org/prueba/modulo/recursos/class.png
- icon32: org/prueba/modulo/recursos/class-32.png
import java.awt.Image;
import java.util.Properties;
import org.openide.util.Utilities;
public class ItemsItver {
private Properties props;
private Image icon16;
private Image icon32;
public static final String PROP_ID = "id";
public static final String PROP_NAME = "nombre";
public static final String PROP_COMMENT = "comentario";
public static final String PROP_ICON16 = "icon16";
public static final String PROP_ICON32 = "icon32";
ItemsItver( Properties props ) {
this.props = props;
loadIcons();
}
public String getId() {
return props.getProperty( PROP_ID );
}
public String getNombre() {
return props.getProperty( PROP_NAME );
}
public String getComentario() {
return props.getProperty( PROP_COMMENT );
}
public Image getSmallImage() {
return icon16;
}
public Image getBigImage() {
return icon32;
}
@Override
public boolean equals(Object obj) {
if ( obj instanceof ItemsItver ) {
return getId().equals( ((ItemsItver)obj).getId() );
}
return false;
}
public void loadIcons() {
String iconId = props.getProperty( PROP_ICON16 );
icon16 = Utilities.loadImage( iconId );
iconId = props.getProperty( PROP_ICON32 );
icon32 = Utilities.loadImage( iconId );
}
}
3. Toca el turno de crear la clase que leerá el método get() de cada uno de los componentes esta clase la nombraremos NodoItverData.
import java.awt.Image;
import java.beans.BeanInfo;
import org.openide.loaders.DataNode;
import org.openide.nodes.Children;
import org.prueba.modulo2.ItverDataObject;
/**
*
* @author Viruz
*/
public class NodoItverData extends DataNode {
private ItverData data;
public NodoItverData(ItverDataObject obj, ItverData data) {
super( obj, Children.LEAF );
this.data = data;
setName( data.getId() );
setShortDescription( data.getComentario() );
}
@Override
public Image getIcon(int i) {
if ( i == BeanInfo.ICON_COLOR_16x16 || i == BeanInfo.ICON_MONO_16x16 ) {
return data.getSmallImage();
}
return data.getBigImage();
}
@Override
public String getDisplayName() {
return data.getNombre();
}
}
4. Por último en la clase ItverDataObject que se creó cuando elaboramos el tipo de archivo, agregaremos en su constructor lo siguiente:
- Spoiler:
- InputStream input = pf.getInputStream();
Properties props = new Properties();
props.load( input );
input.close();
data = new ItverData( props );
- Spoiler:
- @Override
protected Node createNodeDelegate() {
return new NodoItverData(this, data);
}
[Tienes que estar registrado y conectado para ver esa imagen]
Autor: Viruz Enlace: Paleta mediante FileType (Parte 2)
Temas similares
» Paleta mediante FileType en NetBeans Platform
» Paleta mediante XML en NetBeans Platform parte 2
» Paleta mediante XML en NetBeans Platform parte 3
» Paleta mediante Nodos en NetBeans Platform parte 2
» Paleta mediante XML en NetBeans Platform
» Paleta mediante XML en NetBeans Platform parte 2
» Paleta mediante XML en NetBeans Platform parte 3
» Paleta mediante Nodos en NetBeans Platform parte 2
» Paleta mediante XML en NetBeans Platform
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.