Synth外观用户XML如何更改JTable和JTree?

时间:2018-08-09 04:30:59

标签: java swing synth

我想通过Synth LookAndFeel xml配置更改JTableJTree的样式。但是我只发现可以通过xml文件配置来实现一小部分(例如,高线,单元格颜色...)。例如,单元格边框,标题之间的分隔线,表格中所选单元格的背景颜色等都找不到可配置的条目。

代码如下:

enter code here

<style id="tableStyle">
    <state>
        <color type="BACKGROUND" value="WHITE"/>
        <color type="FOREGROUND" value="BLACK"/>
        <color value="LIGHT_GRAY" type="TEXT_BACKGROUND"/>
        <color value="BLACK" type="TEXT_FOREGROUND"/>
        <imagePainter method="tableBorder" path="images/textfield.png"
                      sourceInsets="1 1 1 0" paintCenter="false"/>
    </state>
    <object class="javax.swing.plaf.ColorUIResource" id="color">
        <int>255</int>
        <int>0</int>
        <int>0</int>
    </object>
    <property key="Table.gridColor" type="idref" value="color"/>
</style>
<bind style="tableStyle" type="region" key="Table"/>


enter code here

see this image

是否可以通过XML配置在图像中实现样式?谢谢。

1 个答案:

答案 0 :(得分:0)

Synth L&F仅是构建自己的L&F的原型。但是这里实现了一些基本的东西,例如选择颜色。

    <state value="SELECTED">
        <color type="TEXT_BACKGROUND" value="#00538c" />
        <color type="TEXT_FOREGROUND" value="#ffffff" />
        <color type="FOREGROUND" value="#FFFFFF" />
    </state>    

但是我还没有找到如何使用Synth L&F更改表格标题的网格颜色

如果要使用XML设置GUI样式,则可能需要切换到JavaFX。另一种可能性是购买基于Synth L&F的Synthetica L&F。它几乎具有样式GUI所需的所有功能。但是它有一个缺点:您需要花费大量时间来学习它及其所有功能(当然还有它的bug的工作区;)。