最近出现滚动条

Scrollbars recently appeared

我正在重新访问一些旧项目,使用最新库的新版本在我的滚动容器和列表中添加了一个丑陋的滚动条。

我为 'Scroll' 和 "ScrollThumb" 输入了透明度为 0 且边框为空的主题条目。它删除了一些但不是全部,在设计器中可见的勾选或取消勾选滚动似乎没有太大影响。

这发生在过去几周的某个时间。我找不到导致它的模式。 (我觉得可能是v3.5新增的)

这是我删除所有滚动条的技巧:

UIManager.getInstance().setLookAndFeel(new DefaultLookAndFeel(UIManager.getInstance()) {
    @Override
    public void bind(Component cmp) {
        if (cmp instanceof Container) {
            cmp.setScrollVisible(false);
        }
    }
});

我把那段代码放在我的 main class 的 init 方法中。

编辑(2019 年 5 月 9 日):

您可能会在使用上述代码时遇到一些奇怪的 UI 行为。 到目前为止,我的经验是当我使用以下代码更改图像时,RadioButton 和 Checkbox 组件无法正确呈现:

((DefaultLookAndFeel) UIManager.getInstance().getLookAndFeel()).setCheckBoxImages(checkedImage, unCheckedImage);
((DefaultLookAndFeel) UIManager.getInstance().getLookAndFeel()).setCheckBoxFocusImages(checkedImage, unCheckedImage, checkedImage, unCheckedImage);

解决方案(2019 年 5 月 9 日):

将以下内容添加到您的 main class 的 init 方法中:

UIManager.getInstance().getLookAndFeel().setFocusScrolling(false);
UIManager.getInstance().getLookAndFeel().setFadeScrollBar(false);

...并将主题常量 scrollVisibleBool 设置为 false。 (我认为 CN1 默认为 false,但我还是设置了它)。

中,Shai指出移除滚动条的首选方法是定义主题常量scrollVisibleBool=false。

主题编辑器不允许我将此常量添加到主题中,因为它不在下拉选择器中。为了添加它,我必须执行以下操作:

  1. 将主题编辑器置于XML团队模式,保存主题,关闭编辑器。
  2. 将以下行添加到 theme.xml 文件 <val key="@tabPlacementInt" value="0" />
  3. 然后打开主题编辑器,再次保存。

此后,滚动条不再可见。