我正在尝试创建一个 ScrollPane,其中包含具有透明背景的 JPanel(或在 RGBA 中几乎透明:0、0、0、150)。问题是当我向下/向上滚动 JViewPort 重绘时。但它不会重新绘制父级,这会在几毫秒后发生。所以几毫秒我看到滚动视图内的滚动视图周围的所有按钮。有解决办法吗?或者是否可以覆盖视口的重绘方法来重绘整个屏幕?
我的代码:
scrollView = new JScrollPane(content);
scrollView.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
scrollView.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
scrollView.getVerticalScrollBar().setUI(new ScrollBar());
scrollView.getVerticalScrollBar().setUnitIncrement(1);
scrollView.setBorder(null);
scrollView.setViewportBorder(null);
scrollView.setBounds(20, 20, W - 40, H - 40);
scrollView.setPreferredSize(new Dimension(W - 40, H - 40));
add(scrollView, 0);
parentScreen.repaint();