Librerías gráficas

Soy nuevo en esto y también en programación.
Espero me puedan ayudar u orientar, estaría muy agradecido con ustedes...
Mi pregunta es la siguiente: Como puedo hacer para que mi programita escrtio en Java, tenga la misma apariencia que un programa escrito para un determinado gestor de ventanas.
Por ejemplo cuando "corra" que utilice las librerías gráficas del sistema operativo (o gestor de ventanas) y no el Swing, porque estado leyendo en la wikipedia que el Swing 'dibuja' los gráficos a su manera. Por lo que cuando corre en Gnome o KDE o E17, siempre tiene la misma apariencia.
También vi que puedo utilizar AWT o SWT, ¿pero qué tanto cambiaría la sintaxis?
Nota: uso NetBeans

1 respuesta

Respuesta
1
En las propiedades del proyecto Java que tienes en NetBeans, ve a Aplicación->Aplicación de Escritorio. Ahí puedes seleccionar el comportamiento de la aplicación cuando se ejecuta indicando la apariencia y comportamiento que tendrá.
También puedes escribir el siguiente código en tu función main:
try {
UIManager.setLookAndFeel(new NimbusLookAndFeel());
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(GesxpressApp.class.getName()).log(Level.SEVERE, null, ex);
}
Hay varias clases igual que la clase NimbusLookAndFeel, cada una de ellas puede funcionar o no en otros S.O. También puedes descargarte nuevos Look & Feels de internet. Hay un montón.
Primero que nada muchas gracias regutimar, por responder :)
- Hice lo que me dijo sobre: entrar en las propiedades del proyecto Java, pero no encuentro la opción 'Aplicaciones de Escritorio', le dejo unas imágenes para que más o menos vea... ¿o quizá yo busque mal?
imagen 1, , , .
- También escribí el código que me dijo, pero me daba error no sé muy bien porque.
- Mi intensión principal es que mi programa se vea como uno nativo de E17, pero para eso tiene que usar las bibliotecas EFL que son manejados con el lenguaje C, entre ellas esta ETK y EWL que son las que se encargan de 'pintar/dibujar' el software.
- Pero a mi me han enseñado Java (en la universidad I Ciclo), aún no entiendo C y no dispongo de tiempo para aprenderlo (por mis otras tareas y cursos). Por eso busque una manera alternativa, como usar su librería gráfica de Java: AWT o SWT, porque según leí estas librerías usan las librerías del 'windows manager' del sistema operativo, para 'pintar/dibujar' el software. Mejor dicho hace que se vea como uno nativo.
- Acá le dejo un link referente sobre los Button, Check_button, ComboboxDialog, Menu, Menu_bar, Menu_item, Message_dialog, Radio_button, etc... de E17. Así es como quisiera que se vea mis programas.
- Agradeceré mucho su ayuda u orientación, sino esta bien... igual, comprenderé.
Varias cosas:
1. La opción de configurarlo desde las propiedades del proyecto sólo funciona si creas un proyecto de Escritorio Java (Java Desktop) en cualquier otro caso no la tendrás disponible.
2. En el ejemplo que te pasé uso el L&F de Nimbus que es bastante atractivo pero que sólo está disponible para Windows, Linux y Mac desde la JRE 1.6.0_11, por lo que si tienes una versión anterior a esta no te funcionará este L&F, aunque también puedes usar otros como Metal o Motif.
3. En cuanto a E17, no tengo experiencia en ese entorno, pero es muy posible que el port de las librerías nativas no esté realizado por lo que no podrás verlo igual que otras aplicaciones. ¿Has probado a ver si otras aplicaciones java se ven con el look de E17?
Hola, si tiene razón :)
Ehm... sobre el tercer punto, para hacer programas nativos de E17 solo es necesario conocer/manejar las bibliotecas EFL, lo bueno es que E se instala en *Linux, *BSD y Mac* . Y tengo sospechas que el equipo de Elive ha modificado OpenOffice para que tenga el estilo visual de E, no igual sino parecido (aquí).
De todas manera muchas gracias por su atención, espero no haberle hecho perder el tiempo ^_^
Pero que creo que mi pregunta era valida, para saber si con las bibliotecas AWT o SWT de Java se podía igualar o no, la apariencia de la GUI de E.
Aunque soy algo nuevo en esto de programación (4 meses) voy aprender C por mi mismo, porque adoro el E17 y tengo muchas ganas de colaborar ><
Hasta la próxima...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas