java - propiedades - swing containers
¿Puedo usar dos estilos diferentes en la misma aplicación Swing? (3)
Aquí hay una biblioteca que cambiará automáticamente la apariencia. No estoy seguro de que esto se haga para cada componente de una manera diferente, pero deberías echarle un vistazo. pbjar.org
Este libro debería ser útil si quieres profundizar en el aspecto y la apariencia / java-look-and-feel-design-guidelines-second-edition
Me encantaría ver algún ejemplo de código, si alguien puede escribirlo, no dude en comenzar.
EDITAR:
En este hilo del foro Thread encontré la siguiente descripción
Swing usa Look & Feel (un PLAF). Los PLAF no están adjuntos en un nivel por JFrame. Se adjuntan en un nivel por VM. Es casi imposible mezclar PLAF dentro de una aplicación. He visto algunos intentos, todos fallidos.
Estoy usando la cinta de Flamingo y el aspecto y la sensación de Substance Office 2007.
Por supuesto, ahora cada control tiene esta apariencia, incluso aquellos en los cuadros de diálogo.
Lo que quiero es algo así como en Office 2007, donde las cintas tienen su aspecto de Office 2007, pero otros controles mantienen su aspecto nativo de Vista / XP.
¿Es posible asignar a ciertos controles una apariencia diferente? ¿Tal vez usando algún tipo de encadenamiento o una apariencia proxy?
Swing desafortunadamente hace muchas cosas "psuedo-globales" detrás de escena. AFAIK, la única manera de hacerlo consistentemente es usar la API privada de AppContext
. Cada AppContext
tiene su propio hilo de envío de eventos y otros "psuedo-globals".
Acabo de descubrir: desde Sustancia 5.0, SKIN_PROPERTY está disponible.
Permite asignar diferentes JDialog
a diferentes JRootPanes
(es decir, JDialog
, JFrame
, JInternalFrame
)
Un pequeño truco: JInternalFrame
para eliminar el borde adicional y el panel de título para que se vea como un panel sin bordes. De esta forma, es posible crear la impresión de que diferentes partes de un formulario / diálogo tienen diferentes aspectos.