java - Synth Look and Feel - 是否可以编写 xml 来进行一般和特定的定制?

标签 java swing look-and-feel synth

Synth 提供了一种使用 xml 来自定义 java swing 外观的方法。据我了解,它可以进行一般定制。例如:

  • General JButton:将其字体、背景、前景...设置为所有按钮(synth 可以做到这一点)

  • 但我在指定的 GUI 上也有一个指定的 MyButton(假设在 com.jasons.MyPanel 中),我希望它具有与一般 Jbutton 不同的字体和背景。

那么 synth xml 是否支持这个(以及如何支持)?谢谢!

最佳答案

Synth L&F 还支持名称绑定(bind)。

这是 XML 示例:

<style id="defaultHeaderPanel">
    <insets top="4" left="4" bottom="4" right="4"/>
    <state>
        <opaque value="true" />
        <color type="BACKGROUND" value="#00538c"/>
    </state>
</style>
<bind style="defaultHeaderPanel" type="name" key="DefaultHeaderPanel" />

要使用此样式,您需要使用 bind XML 元素的 key 调用方法 setName(String)

例如:

public class HeaderPanel extends JPanel {

    public HeaderPanel() {
        setName("DefaultHeaderPanel"); // assign style name
    }
}

关于java - Synth Look and Feel - 是否可以编写 xml 来进行一般和特定的定制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51744290/

相关文章:

Java - 最大化屏幕=缓冲区闪烁

java - Mac L&F 问题 : Differing behavior of JTextField. requestFocus()

java - 更改 JSlider 的外观

java - 将手写解析器转换为 ANTLR

java - 非法参数异常 : Authorities list must not be null

java - Wildfly - 在主配置文件中找不到 "Connector ' netty”

java - 无法更改标题栏和 JMenuBar 的颜色

java - 如何在Spring Batch中读取ini文件(键=值)

java - 调用 setComponent() 后无法将面板添加到 jtabbedpane

java - 如何使 JTree 只显示字符串而不显示文件结构