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

Paleta mediante XML en NetBeans Platform parte 3

Ir abajo

Paleta mediante XML en NetBeans Platform parte 3 Empty Paleta mediante XML en NetBeans Platform parte 3

Mensaje  Admin (Viruz) Vie Nov 30, 2012 1:40 am

Como nosotros ya conocemos en la programación orientada a objetos (POO) con el lenguaje Java existen eventos los cuales se pueden generar mediante un componente gráfico.

En esta parte 3 de la creación de una paleta mediante XML veremos como un evento puede también ser factor en la misma, en este caso veremos 2 ejemplos. En uno de ellos ocuparemos la clase PaletteFilter que la utilizaremos para generar una categoría en la paleta mediante un JCheckBox.

Lo que se necesita conocer

  • Paleta mediante XML (Parte 1)
  • Paleta mediante XML (Parte 2)

Pasos:

1. Abrimos nuestro TopComponent que asociamos a nuestra paleta (parte 1) y haremos un pequeño menú que contendrá nuestros JCheckBox y serán a los que les otorgaremos los eventos mas o menos de esta manera:
[Tienes que estar registrado y conectado para ver esa imagen]
Nota: Es a gusto del usuario poner el componente gráfico que desee y el evento que desee realizar.

2. En los componentes damos clic derecho y se desplegará el menú donde escogeremos las siguientes opciones (eventos):
Event > Item > itemStateChanged()

[Tienes que estar registrado y conectado para ver esa imagen]
Al hacer realizar el evento generamos el método y en el debemos de poner lo siguiente:

Spoiler:
3. Marcará error en FiltroPaleta ya que la clase no se encuentra en el módulo por lo que vamos a crearla tendremos esta heredará de PaletteFilter y pedirá implementar los métodos abstractos isValidCategory() y isValidItem().

private static class FiltroPaleta extends PaletteFilter {
static boolean casosdeUso = false;

private static void setCasosdeUsoVisible(boolean selected) {
if ( casosdeUso != selected ) {
casosdeUso = selected;
controlador.refresh();
}
}

public FiltroPaleta() {
}

@Override
public boolean isValidCategory(Lookup lkp) {
Node categoryNode = (Node)lkp.lookup( Node.class );
String categoryDisplayName = categoryNode.getDisplayName();
if (categoryDisplayName.equals("Diagramas de Casos de Uso") && !isCategoryExpertVisible) {
return false;
}
return true;
}

@Override
public boolean isValidItem(Lookup lkp) {
return true;
}
}

Nota: La clase la cree dentro del TopComponent así que fue puesta de manera estática.

4. Ahora en el método donde creamos la paleta "createPalette()" cambiaremos la siguiente línea:

Spoiler:
Cambiando por:

Spoiler:
Por lo que debemos declarar controlador de tipo PaletteController.

Spoiler:
Quedando como resultado el siguiente:
[Tienes que estar registrado y conectado para ver esa imagen]
Ahora el segundo ejercicio consta de agregar otro evento llamado PropertyChange lo cual nos permitirá mostrar el componente seleccionado en una etiqueta llámese JLabel.

Pasos:

1. En el método de getPaleta() agregamos el oyente con el método addPropertyChangeListener() y por consecuente el evento propertyChange().

private void setPropiedades(String displayName, Image image) {
ImageIcon myIcon = new ImageIcon(image);
jLabel1.setText("");
jLabel1.setIcon(myIcon);
jLabel2.setText(displayName);
}

2. Por último tendremos que agregar el método de setPropiedades() en el TopComponent, donde le otorgaremos a unas etiquetas (jLabel1 y jLabel2) los parámetros de texto e imagen al seleccionar un componente de la paleta.

private void setPropiedades(String displayName, Image image) {
ImageIcon myIcon = new ImageIcon(image);
jLabel1.setText("");
jLabel1.setIcon(myIcon);
jLabel2.setText(displayName);
}

Ahora tendremos el resultado de la siguiente manera:

[Tienes que estar registrado y conectado para ver esa imagen]
Autor: Viruz study
Enlace: Paleta mediante XML 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.