Foro de elhacker.net

Programación => Java => Mensaje iniciado por: ekys en 26 Abril 2011, 02:26 am



Título: Interfaz de usuario dinamica
Publicado por: ekys en 26 Abril 2011, 02:26 am
Hola a tod@s,

estoy pensando en hacer una interfaz de usuario adaptativa es decir, una interfaz grafica que en funcion de las acciones del usuario tome una forma u otra.

Eso significa que deberia guardar la interfaz en algun tipo formal de manera que cada vez que el usuario provoque un cambio en la actual interfaz esta se modifique (por tanto que se vea reflejada en tiempo real) y sea almacenada de manera que cada vez que se arranque la aplicacion (basicamente la interfaz) se vea reflejado este cambio.

La idea es hacerlo en java aunque todo lenguaje es bienvenido.

¿A alguien se le ocurre alguna idea i/o sugerencia?


Saludos.


Título: Re: Interfaz de usuario dinamica
Publicado por: Debci en 26 Abril 2011, 08:04 am
Mira, es algo tan relativamente sencillo como lo siguiente:

1-Creas un sistema para serializar datos en un XML.
2-Declaras todos los tipos de componentes en arrays.
3-Abres el fichero e interpretas los datos, a saber, posición, dimensiones, texto, color y otros parámetros básicos.
4-Mediante las funciones propias de swing, vas añadiendo dichos parámetros a cada objeto y los vas haciendo visibles, en caso de necesitar mas, añádelos, a la pila, vector o array, de forma recursiva, sin necesidad de declarar nombres únicos con los que se que te quedase estática la app.

Te dejo un enlace sobre lectura de configuraciones en un XML:
http://foro.elhacker.net/java/clase_beta_lectura_por_tags_archivos_xml-t263818.0.html (http://foro.elhacker.net/java/clase_beta_lectura_por_tags_archivos_xml-t263818.0.html)

Un saludo


Título: Re: Interfaz de usuario dinamica
Publicado por: sapito169 en 27 Abril 2011, 20:58 pm
yo te recomiendo que mientras menos xml uses es mejor mejor usa archivos properties


Título: Re: Interfaz de usuario dinamica
Publicado por: ekys en 4 Mayo 2011, 02:10 am
Bueno eso es una buena idea, pero yo estaba pensando en almacenar la interfaz en un arbol n-ario donde cada nodo se corresponde con cada elemento de la interfaz, es decir, cada nodo contiene el tipo de widget, su posicion, color, nombre,...

La estructura del arbol deberia estar jerarquizada de manera que el nodo raiz contenga la info de la ventana principal, luego sus hijos seran los widgets que esta contenga, a la vez los hijos de estos widgets seran los elementos que contengan como por ejemplo submenus dentro de menus, etc.

Lo que creo que puede ser bueno si lo hago asi es que podria cortar ramas enteras del arbol y colocarlas en otras, de manera que pueda cambiar de lugar un menu cortando una rama de un sitio y colocarla en otra.

Para que esto funcione el arbol debe mantener en todo momento su estado actualizado, de manera que cada vez que se ejecute la aplicacion se recorra el arbol para dibujar sus elementos acorde con los cambios sufridos.

No se si esto puede llegar a complicarse demasiado pero creo que es factible.

¿Que opinion tienes al respecto?


Gracias por contestar!



Título: Re: Interfaz de usuario dinamica
Publicado por: Debci en 4 Mayo 2011, 17:01 pm
Si pretendes hacer algo serío sería una idea muy dinámica, que podría valer la pena, pero hay mucho código de por medio, y quizás eso sea un punto en contra.
Si pretendes hacerlo sin demasiados recargos/demora, haz con una de las formas que te hemos comentado.

Saludos