Bonjour,
Je souhaite lire les propriétés stockées dans un fichier synth.xml par la méthode UIManager.get() (ou getColor, getBorder) et je n'y arrive pas

Fichier synth.xml (extrait, c'est le L&F Synthetica White Vision) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<style id="tableHeader">
    <state>
      <font name="Tahoma" size="11" style="BOLD"/>
      <color type="FOREGROUND" value="#333333" /> 
      <color type="BACKGROUND" value="#A6EFFF" />
 
      <object class="javax.swing.plaf.ColorUIResource" id="gridColor">
        <!-- #AAAAAA -->
        <int>170</int>
        <int>170</int>
        <int>170</int>
      </object>
      <defaultsProperty key="Synthetica.tableHeader.gridColor" type="idref" value="gridColor"/>
 
      <imagePainter method="tableHeaderBackground" path="whitevision/images/tableHeaderBackground.png"
                    sourceInsets="0 0 2 0" destinationInsets="0 0 2 0" paintCenter="true" stretch="true"/>
    </state>
  </style>
  <bind style="tableHeader" type="region" key="TableHeader"/>
  <!-- avoids plain header text with Java SE 6 on MOUSE_OVER -->
  <bind style="tableHeader" type="name" key="TableHeader.renderer"/>
Un extrait de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
public class Test {
 
	public static void main(String[] args){
		try {			
			UIManager.setLookAndFeel(new SyntheticaWhiteVisionLookAndFeel());
 
			System.out.println(UIManager.getFont("TableHeader.font")) ;			
			System.out.println(UIManager.getFont("TableHeader.color")) ;
		} catch (Exception e){
 
		}
 
	}
 
}
Résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
javax.swing.plaf.FontUIResource[family=Dialog,name=Tahoma,style=bold,size=11]
null
le TableHeader.font me rend bien la font déclarée.
En revanche, je n'arrive pas à accéder aux couleurs BACKGROUND et FOREGROUND. J'ai essayé TableHeader.backgroundColor,TableHeader.backgroundcolor,TableHeader.background,TableHeader.Background sans succès. En fait je tâtonne.
Je souhaiterais également accéder à l'imagePainter et à l'image qui y est déclarée.
Je sèche depuis un moment là-dessus.
Merci de votre aide