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

Nodos en NetBeans Platform parte 3

Ir abajo

Nodos en NetBeans Platform parte 3 Empty Nodos en NetBeans Platform parte 3

Mensaje  Admin (Viruz) Mar Nov 27, 2012 2:35 am

Siguiendo esta tema de nodos en la plataforma de NetBeans se ha conocido como crear las primeras categorías y poder mostrarlas dentro de una ventana. En esta 3ra parte se observará como realizar subcategorías que se vayan desplegando dependiendo de la aplicación del usuario.

Los primeros pasos son similares a los puntos finales del tutorial pasado (2da parte) ya que se contaran con 3 clases para el despliegue de nuevas categorías y en nuestro caso las clases las identificaremos con un número al final para conocer el nivel del nodo.

Lo que necesitas conocer
  • Nodos en NBP (Parte 1)
  • Nodos en NBP (Parte 2)

Pasos:

1. Comenzamos por crear la clase Categoria2 que al igual que la clase Categoria sera la encargada de llevar los métodos set() y get(). Y contará con la siguiente información:
package org.prueba.modulo;
/**
*
* @author Viruz
*/
public class Categoria2 {
private Integer numero;
private String categoria;
private String titulo;

public Integer getNumber() {
return numero;
}

public void setNumber(Integer numero) {
this.numero = numero;
}

public String getCategory() {
return categoria;
}

public void setCategory(String categoria) {
this.categoria = categoria;
}

public String getTitle() {
return titulo;
}

public void setTitle(String titulo) {
this.titulo = titulo;
}
}

2. Seguido creamos otra clase Java con nombre SubCategoria2 recordando que en la anterior clase (SubCategoria) acomodamos en un arreglo de tipo String, los nombres de las categorías principales, ahora en esta clase se encargará de asociar las subcategorias a crear.

Esto se logra mediante la clase "Index.ArrayChildren" quien se encarga de re ordenar una lista de Children que se encuentran almacenada en una matriz, y el método initCollection(), es el encargado de implementar la devolución del ArrayList.
package org.prueba.modulo;

import java.util.ArrayList;
import org.openide.nodes.Index;
import org.openide.nodes.Node;

/**
*
* @author Viruz
*/
public class SubCategoria2 extends Index.ArrayChildren {

private Categoria categoria;

private String[][] items = new String[][]{
{"0", "Noticias", "Nacionales"},
{"1", "Noticias", "Internacionales"},
{"2", "Espectaculos", "Espectaculos"},
{"3", "Deportes", "Futbol"},
{"4", "Deportes", "Basquetbol"},
{"5", "Deportes", "Beisbol"},
{"6", "Deportes", "Lucha Libre"},
{"7", "Sociales", "Sociedad"},
{"8", "Ciencia y Tecnologia", "Destacadas"},
{"9", "Ciencia y Tecnologia", "Nuevo"},
};

public SubCategoria2(Categoria Categoria) {
this.categoria = Categoria;
}

protected java.util.List initCollection() {
ArrayList childrenNodes = new ArrayList( items.length );
for( int i=0; i< items. length; i++ ) {
if( categoria.getName().equals( items[i][1] ) ) {
Categoria2 item = new Categoria2();
item.setNumber(new Integer(items[i][0]));
item.setCategory(items[i][1]);
item.setTitle(items[i][2]);
childrenNodes.add( new CategoriaNodo2( item ) );
}
}
return childrenNodes;
}
}

3. Nos falta la última clase que será CategoriaNodo2 donde haremos el llamado a los métodos set y get de la clase Categoria2 para poder hacer el despliegue así que tenemos que pasar de parámetro una referencia de la esta clase en el constructor, ademas de agregar una diferente ruta de un nuevo icono en el método setIconBaseWithExtension().
package org.prueba.modulo;

import org.openide.nodes.AbstractNode;
import org.openide.nodes.Children;
import org.openide.util.lookup.Lookups;

/**
*
* @author Viruz
*/
public class CategoriaNodo2 extends AbstractNode {

private Categoria2 categoria2;

public CategoriaNodo2(Categoria2 key) {
super(Children.LEAF, Lookups.fixed( new Object[] {key} ) );
this.categoria2 = key;
setDisplayName(key.getTitle());
setIconBaseWithExtension("org/prueba/modulo/page_red.png");
}

public boolean canCut() {

return true;
}

public boolean canDestroy() {
return true;
}
}

4. Ya para finalizar debemos de cambiar una línea de código a nuestra clase CategoriaNodo.

Parte de código a reemplazar:
Spoiler:
Nuevo Código:
Spoiler:
Ahora si haz seguido el tutorial de manera completa el resultado debería de ser de la siguiente manera:
[Tienes que estar registrado y conectado para ver esa imagen]

Autor: Viruz study
Enlace: Nodos en NetBeans Platform (Parte 3)
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.