【问题标题】:Changing JScrollPane Scrollbar color更改 JScrollPane 滚动条颜色
【发布时间】:2013-10-02 18:54:40
【问题描述】:

我想知道如果我想更改滚动条颜色应该查看哪些内容。
我希望滚动条的背景和颜色是默认窗口颜色以外的其他颜色。

我到处寻找可以找到答案的地方,但不幸的是我没有找到任何东西。任何帮助将不胜感激,我真的在为此苦苦挣扎。

【问题讨论】:

    标签: java swing


    【解决方案1】:

    查看UIManager Defaults。您也许可以更改一些默认值。这会影响应用程序中的所有滚动条。此外,UIManager 的值取决于 LAF。

    【讨论】:

    • 我忘记了你的这个方便的应用程序;我过去自己用过。但是,根据使用的 LAF,某些属性可以被忽略/阻塞,对吧?
    • 是的,不能保证这会奏效。唯一真正的解决方案是为您想要支持的每个 LAF 创建自定义 UI。
    【解决方案2】:

    您将不得不查看ScrollBarUI 类,特别是在以下函数内部:

        protected void paintTrack(Graphics g, JComponent c, Rectangle trackBounds) {
                 /// code
        } 
        protected void paintThumb(final Graphics g, JComponent c, Rectangle thumbBounds) {
          //code
         }
    

    【讨论】:

      【解决方案3】:

      我认为您正在寻找的基本答案在 ScrollBarUI 类中,但请注意;那就是疯狂。摆弄 UIResources 并不是很有趣——您可能只想在 Google 上搜索一个看起来更符合您喜好的全新 LnF 库。

      【讨论】:

      • 不幸的是,我不允许更改 lnf 中的任何内容 :( 只能更改滚动条颜色。您的答案正是我所担心的,但是我会尝试看看我是否可以做到并很快接受它.
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-07
      • 1970-01-01
      相关资源
      最近更新 更多