我一直在寻找一种解决方案来删除AWT ScrollPane中的默认边框。
在JScrollPane中它相当简单..
paneScrollPane.setBorder(BorderFactory.createEmptyBorder());
或
paneScrollPane.setBorder(空);
只是想知道我们能否在ScrollPane
的情况下达到同样的效果答案 0 :(得分:2)
这可能是不可能的。 AWT
的一个主要缺点是您实际上无法绘制或自定义AWT
组件的视图。
我可能做的唯一建议是你可以尝试在你的ScrollPanel周围创建画画边框。
答案 1 :(得分:2)
您可以使用此方法:
JScrollPane scrollPane = new JScrollPane(list);
scrollPane.setViewportBorder(null);
我从类javax.swing.plaf.synth.SynthScrollPaneUI获取此信息:
protected void paint(SynthContext context, Graphics g) {
Border vpBorder = scrollpane.getViewportBorder();
if (vpBorder != null) {
Rectangle r = scrollpane.getViewportBorderBounds();
vpBorder.paintBorder(scrollpane, g, r.x, r.y, r.width, r.height);
}
}
答案 2 :(得分:1)
这是不可能的,因为AWT
实现Look and Feel
并且强烈基于来自Native OS(Themes
)的方法,Border仅针对{{1}实现},