【问题标题】:Java metal look and feel UIManager painter for the SplitPane divider用于 SplitPane 分隔器的 Java 金属外观 UIManager 画家
【发布时间】:2015-07-24 20:39:06
【问题描述】:

我在使用 UIManager.put(...) 调用绘制 JSplitPane 分隔线时遇到了一些困难。它只是不工作。我正在使用“金属”的外观和感觉,并且必须在创建 GUI 之后进行此更改。我所有的其他 UIManager.put(...) 操作似乎都有效,但仅适用于颜色键项目。当一切都说完了,我也使用 SwingUtilities.updateComponentTreeUI(getRootPane()) 。我的代码示例如下。我想知道是否有人建议让我的画家工作。感谢大家的时间和帮助!

    UIManager.put("SplitPane:SplitPaneDivider[Enabled+Vertical].foregroundPainter", new Painter() {
          @Override
          public void paint(Graphics2D g, Object object, int width, int height) {
            g.setColor(new Color(15, 15, 15));
            g.fillRect(0, 0, width, height);
          }
    });
    UIManager.put("SplitPane:SplitPaneDivider[Enabled].backgroundPainter", new Painter() {
          @Override
          public void paint(Graphics2D g, Object object, int width, int height) {
            g.setColor(new Color(15, 15, 15));
            g.fillRect(0, 0, width, height);
          }
    }); 
    UIManager.put("SplitPane:SplitPaneDivider[Enabled].foregroundPainter", new Painter() {
          @Override
          public void paint(Graphics2D g, Object object, int width, int height) {
            g.setColor(new Color(15, 15, 15));
            g.fillRect(0, 0, width, height);
          }
    }); 
    UIManager.put("SplitPane:SplitPaneDivider[Focused].backgroundPainter", new Painter() {
          @Override
          public void paint(Graphics2D g, Object object, int width, int height) {
            g.setColor(new Color(15, 15, 15));
            g.fillRect(0, 0, width, height);
          }
    });
    SwingUtilities.updateComponentTreeUI(getRootPane()): 

以上只是我尝试做的一个示例。知道为什么它不起作用吗?再次感谢大家的帮助!

【问题讨论】:

    标签: java swing look-and-feel uimanager swingutilities


    【解决方案1】:

    这些是Nimbus LAF 而不是Metal LAF 的属性,因此它们不起作用。

    要查看Metal LAF 属性,请查看UIManager Defaults,它将显示您可以更改的 UIManager 属性。

    【讨论】:

    • 谢谢! :) 我想我在想我可以用 Nimbus 键逃脱,马虎并且没想到 Metal 是否支持它们。
    • 遗憾的是,它并没有让我更接近绘制分隔线或其他项目,如滑块。我有一种不好的感觉,这条路会导致一些事情的自定义摆动组件绘画。不过感谢您的帮助!
    猜你喜欢
    • 2015-12-25
    • 2016-01-02
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多