Viruz Blog
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Paleta mediante FileType en NetBeans Platform parte 2

Ir abajo

Paleta mediante FileType en NetBeans Platform parte 2 Empty Paleta mediante FileType en NetBeans Platform parte 2

Mensaje  Admin (Viruz) Dom Dic 02, 2012 11:45 am

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:
  • 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:

  1. id.
  2. nombre.
  3. icono 16.
  4. icono 32.
  5. comentario.
De manera que al llenar esta información con los datos correctos quede de la siguiente manera:

  • 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
2. Ahora se tiene que crear una clase que pueda reconocer esta información, la cual tendrá por nombre ItemsItver. Esta clase tiene los métodos get(), que devolverá lo que contiene la información ya otorgada.


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:
Más aparte abajo el siguiente método:

Spoiler:
Ejecutamos nuestra aplicación se debe de tener como resultado el siguiente:

[Tienes que estar registrado y conectado para ver esa imagen]
Autor: Viruz study
Enlace: Paleta mediante FileType (Parte 2)
Admin (Viruz)
Admin (Viruz)
Admin

Mensajes : 148
Fecha de inscripción : 23/09/2012
Edad : 35
Localización : Desktop

https://viruz.foroactivo.mx

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.