Java 设置滚动条的厚度
有没有办法调整Java 设置滚动条的厚度,java,user-interface,scrollbar,Java,User Interface,Scrollbar,有没有办法调整JScrollPane中滚动条的厚度?默认设置有点笨重。一个快速但又脏的解决方案是通过via将宽度/高度明确设置为10像素 jScrollPane.getVerticalScrollBar().setPreferredSize(new Dimension(10, 0)); jScrollPane.getHorizontalScrollBar().setPreferredSize(new Dimension(0, 10)); 另一种方法是提供适当的滚动条ui以下内容适用于默认LNF
JScrollPane
中滚动条的厚度?默认设置有点笨重。一个快速但又脏的解决方案是通过via将宽度/高度明确设置为10像素
jScrollPane.getVerticalScrollBar().setPreferredSize(new Dimension(10, 0));
jScrollPane.getHorizontalScrollBar().setPreferredSize(new Dimension(0, 10));
另一种方法是提供适当的
滚动条ui
以下内容适用于默认LNF(金属)
int verticalScrollBarWidthCoefficient = 3;
scrollPane.getVerticalScrollBar().setPreferredSize(new Dimension(
(int) scrollPane.getVerticalScrollBar().getPreferredSize()
.getWidth() * verticalScrollBarWidthCoefficient,
(int) scrollPane.getVerticalScrollBar().getPreferredSize().getHeight()
));
如果您只想设置一个特定的大小,那么您可以在创建JScrollPane之前放置此代码(用您喜欢的大小替换40)
如果要根据默认大小缩放滚动条,请执行以下操作(在创建JScrollPane之前)
如果您想在创建JScrollPane后更改它,事情会稍微复杂一些,但也不太糟糕
int scrollbarSize = <some dynamic value>;
UIManager.put("ScrollBar.width", scrollbarSize);
scrollPane.setVerticalScrollBar(scrollPane.createVerticalScrollBar());
scrollPane.setHorizontalScrollBar(scrollPane.createHorizontalScrollBar());
intscrollbarsize=;
UIManager.put(“滚动条.宽度”,滚动条大小);
scrollPane.setVerticalScrollBar(scrollPane.createVerticalScrollBar());
scrollPane.setHorizontalScrollBar(scrollPane.createHorizontalScrollBar());
我希望这对某人有所帮助。对我来说最简单的方法就是直接编辑
jquery.jscrollpane.css
文件。更改.jspVerticalBar
的宽度: 谢谢!如何设置滚动条向上/向下按钮的大小?这会对方向按钮产生奇怪的影响。请参阅下面我的答案以获得替代解决方案。我在下面添加了一个更完整的解决方案,它适用于默认的外观(金属)。我知道这是一个老问题,但我在试图解决这个问题时遇到了它,所以我想我会回来和大家分享。这只有在你没有灵光LaF的情况下才有效。如果有,则第一种方式无效,第二种方式错误,因为UIManager.get(“ScrollBar.width”)==null
UIManager.put("ScrollBar.width", (int) ((int) UIManager.get("ScrollBar.width") * 2.5));
int scrollbarSize = <some dynamic value>;
UIManager.put("ScrollBar.width", scrollbarSize);
scrollPane.setVerticalScrollBar(scrollPane.createVerticalScrollBar());
scrollPane.setHorizontalScrollBar(scrollPane.createHorizontalScrollBar());