设置滚动条粗细

发布于 2024-10-24 07:39:50 字数 43 浏览 7 评论 0原文

有没有办法调整 JScrollPane 中滚动条的厚度?默认值有点笨拙。

Is there a way to adjust the thickness of the scrollbar within a JScrollPane? the default is kind of clunky.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

小嗷兮 2024-10-31 07:39:50

一个快速但又肮脏的解决方案是通过其他方式将宽度/高度明确设置为例如 10 像素,

jScrollPane.getVerticalScrollBar().setPreferredSize(new Dimension(10, 0));
jScrollPane.getHorizontalScrollBar().setPreferredSize(new Dimension(0, 10));

其他方法是提供适当的 ScrollBarUI。

A quick but also dirty solution is to set the width/height explicitely to e.g. 10 pixels via

jScrollPane.getVerticalScrollBar().setPreferredSize(new Dimension(10, 0));
jScrollPane.getHorizontalScrollBar().setPreferredSize(new Dimension(0, 10));

Other way would be to provide a proper ScrollBarUI.

我不吻晚风 2024-10-31 07:39:50

以下内容适用于默认 LNF(金属)。

如果您只想设置特定大小,那么您可以在创建 JScrollPane 之前放置此代码(将 40 替换为您喜欢的任何大小)...

UIManager.put("ScrollBar.width", 40);

如果您想根据默认大小缩放滚动条,则如下所示(在创建 JScrollPane 之前)...

UIManager.put("ScrollBar.width", (int) ((int) UIManager.get("ScrollBar.width") * 2.5));

如果您想在创建 JScrollPane 之后更改它,事情会稍微复杂一些,但还不错...

int scrollbarSize = <some dynamic value>;
UIManager.put("ScrollBar.width", scrollbarSize);
scrollPane.setVerticalScrollBar(scrollPane.createVerticalScrollBar());
scrollPane.setHorizontalScrollBar(scrollPane.createHorizontalScrollBar());

我希望对某人有所帮助。

The following applies to the default LNF (Metal).

If you just want to set a specific size, then you can put this code before you create the JScrollPane (replace 40 with whatever size you prefer)...

UIManager.put("ScrollBar.width", 40);

If you want to scale the scrollbar based on the default size then something like this (before you create the JScrollPane)...

UIManager.put("ScrollBar.width", (int) ((int) UIManager.get("ScrollBar.width") * 2.5));

If you want to change it after creating the JScrollPane things are a bit more complex, but not too bad...

int scrollbarSize = <some dynamic value>;
UIManager.put("ScrollBar.width", scrollbarSize);
scrollPane.setVerticalScrollBar(scrollPane.createVerticalScrollBar());
scrollPane.setHorizontalScrollBar(scrollPane.createHorizontalScrollBar());

I hope that helps someone.

谈场末日恋爱 2024-10-31 07:39:50
int verticalScrollBarWidthCoefficient = 3;

scrollPane.getVerticalScrollBar().setPreferredSize(new Dimension(
        (int) scrollPane.getVerticalScrollBar().getPreferredSize()
                .getWidth() * verticalScrollBarWidthCoefficient,
        (int) scrollPane.getVerticalScrollBar().getPreferredSize().getHeight()
));
int verticalScrollBarWidthCoefficient = 3;

scrollPane.getVerticalScrollBar().setPreferredSize(new Dimension(
        (int) scrollPane.getVerticalScrollBar().getPreferredSize()
                .getWidth() * verticalScrollBarWidthCoefficient,
        (int) scrollPane.getVerticalScrollBar().getPreferredSize().getHeight()
));
扶醉桌前 2024-10-31 07:39:50

对我来说最简单的方法是直接编辑 jquery.jscrollpane.css 文件。更改 .jspVerticalBar 的宽度。 :)

simplest way for me was to edit the jquery.jscrollpane.css file directly. changing the width of .jspVerticalBar. :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文