设置滚动条粗细

Sin*_*tic 12 java user-interface scrollbar

有没有办法调整滚动条的厚度JScrollPane?默认是一种笨重.

How*_*ard 21

快速但又脏的解决方案是将宽度/高度明确地设置为例如10个像素

jScrollPane.getVerticalScrollBar().setPreferredSize(new Dimension(10, 0));
jScrollPane.getHorizontalScrollBar().setPreferredSize(new Dimension(0, 10));
Run Code Online (Sandbox Code Playgroud)

其他方式是提供适当的ScrollBarUI.


xte*_*ore 5

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

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

UIManager.put("ScrollBar.width", 40);
Run Code Online (Sandbox Code Playgroud)

如果您想根据默认大小缩放滚动条,那么像这样(在创建 JScrollPane 之前)...

UIManager.put("ScrollBar.width", (int) ((int) UIManager.get("ScrollBar.width") * 2.5));
Run Code Online (Sandbox Code Playgroud)

如果您想在创建 JScrollPane后更改它,事情会稍微复杂一些,但也不算太糟糕......

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

我希望这对某人有帮助。