Je viens de skinner différents composants :
- JLabel
- JButton
- JPanel
- JTree
J'en suis actuellement à skinner un composant JTable. J'ai regarder au TableHeader et TableHeader.renderer pour le titre des colonnes, et ça fonctionne correctement. Par contre, je souhaiterais appliquer une marge à l'intérieur de chaque cellule (en fait décaler vers la droite le texte de chacune d'entre d'elles car je le trouve trop près de la bordure), j'ai bien essayer avec :
<insets top="3" left="4" bottom="3" right="4" />
Mais ça ne donne aucun résultat.
Je suis également confronté à un autre problème : Je souhaite modifier la couleur de fond de la ligne selectionnée ou lorsque la souris est au dessus d'une ligne un peu comme je l'avais fait pour le JTree avec Synth mais cela ne fonctionne pas. Mon code me parrait correct pourtant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
<style id="defaultTable">
<object class="javax.swing.plaf.ColorUIResource" id="gridColor">
<int>240</int>
<int>243</int>
<int>248</int>
</object>
<object id="border" class="com.cmm.synth.BorderPainter" />
<object class="javax.swing.plaf.ColorUIResource" id="topBorder">
<int>167</int>
<int>166</int>
<int>170</int>
</object>
<object class="javax.swing.plaf.ColorUIResource" id="startColor">
<int>255</int>
<int>255</int>
<int>255</int>
</object>
<defaultsProperty key="Table.topBorder" type="idref" value="startColor" />
<defaultsProperty key="Table.leftBorder" type="idref" value="topBorder" />
<defaultsProperty key="Table.rightBorder" type="idref" value="topBorder" />
<defaultsProperty key="Table.bottomBorder" type="idref" value="topBorder" />
<property key="Table.gridColor" type="idref" value="gridColor" />
<property key="Table.rendererUseUIBorder" type="boolean" value="true"/>
<property key="Table.rowHeight" type="integer" value="21" />
<painter method="tableBorder" idref="border" />
<state>
<color value="#FFFFFF" type="BACKGROUND" />
<color value="#333333" type="FOREGROUND" />
</state>
<state value="MOUSE_OVER">
<color value="#00FF22" type="BACKGROUND" />
<color value="#002244" type="FOREGROUND" />
</state>
<state value="SELECTED">
<color value="#C2CFE5" type="BACKGROUND" />
<color value="#002244" type="FOREGROUND" />
</state>
</style>
<bind style="defaultTable" type="region" key="Table" /> |
Ce code présente t-il une erreur ou je procède de la mauvaise façon ?
Merci !
Partager