【问题标题】:Extend swing colors to custom components将摇摆颜色扩展到自定义组件
【发布时间】:2012-01-19 06:16:45
【问题描述】:

在实现 swing 应用程序时,您通常会意识到应该具有连贯外观的组件类。
示例:Mypanel 扩展 JPanel 并表示应用对象,因此具有黄色背景和较深的黄色边框线。
是否可以利用摇摆色彩管理?
我的想法是将我的颜色放入UIManager.getLookAndFeelDefaults 映射中,然后以某种方式将它们绑定到组件。
这个“不知何故”是个问题:如何以最简单的形式做到这一点?

【问题讨论】:

    标签: java swing colors custom-component uimanager


    【解决方案1】:

    如果您只想自定义几个组件,这样的方法应该可以工作:

    // Specify the colors
    UIDefaults uiDef = new UIDefaults();
    uiDef.put("Panel.background", Color.BLUE);
    
    // Use the colors on a specific component
    JPanel panel = new JPanel();
    panel.putClientProperty("Nimbus.Overrides", uiDef);
    SwingUtilities.updateComponentTreeUI(panel);
    

    请参阅Nimbus defaults 以获取键名和默认颜色和画家。

    【讨论】:

    • 完全按预期工作:-) 现在我正在尝试使用画家。对于边框,似乎无法使用 UIDefaults 条目来完成。
    • 警告:各种 LAF 在 UIDefaults 属性的名称上不一致。因此,如果用户使用不同的 LAF 运行,“Nimbus.Overrides”将无效。
    猜你喜欢
    • 2013-07-19
    • 2013-04-29
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多