UIManager, cómo conseguir diferentes valores de LookAndFeels?

Canadá:

Necesito conseguir el color de fondo por defecto de un TableHeadersino de la de Windows LookAndFeel. Ya he probado:

try {
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    System.out.println(UIManager.getColor("TableHeader.background"));
catch (Exception e) {
    e.printStackTrace();
}

Pero sólo devuelve el color predeterminado (por lo que el metal tema de uno). ¿Cómo consigo el color de fondo de un componente de una específica LookAndFeel?

PD.

En este caso

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

es lo mismo que

UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

EDITAR:

Ok me enteré, por lo que devuelve un valor "incorrecto" para TabHeaader.background. Eso es debido a que el color que quiero no es el TabHeader.backgroundo TabHeader.foreground. Pero, ¿cómo uno sabe uno por el color del "fondo"?

EDIT 2:

Descubrí, que header.setBackground(COLOR);funciona si usted está en el tema por defecto. Pero cuando me puse LookAndFeelel aspecto y la sensación de Windows header.setBackground(COLOR)cambia el color del borde.

Marco R. :

El aspecto de Windows y la sensación se define en la LookAndFeelclase com.sun.java.swing.plaf.windows.WindowsLookAndFeel. Se puede utilizar invocando el UIManager.setLookAndFeelcon el nombre completo de la clase como un argumento:

    try {
        UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        System.out.println(UIManager.getColor("TableHeader.background"));
    } catch (Exception ex) {
        // HANDLE EXCEPTION
    }

Esta es la lista de la mirada disponible y se siente en el marco de swing: https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html#available

Espero que esto ayude.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=210377&siteId=1
Recomendado
Clasificación