JScrollPane具有自定义背景

时间:2011-06-08 15:13:34

标签: java swing applet jscrollpane

我正在尝试创建一个带有项目的可滚动菜单

我希望能够在滚动中绘制自定义背景并在项目中滚动时修复它

来绘制我使用的背景

@Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        if(background != null){
            background.paintIcon(this,g);
        }
    }

当我尝试将JScrollBar容器不透明度设置为false时出现问题我得到一个白色背景

enter image description here

你可以看到我希望背景与其他部分的“表面”相同。

知道造成这个问题的原因是什么?

杰森

1 个答案:

答案 0 :(得分:4)

一个常见问题。你实际上并没有“看到”JScrollPane,而是JScrollPane的Viewport。您需要在JScrollPane.getViewport()(或类似的东西)上执行所有GUI操作

因此,要使JScrollPane透明,您将使用JScrollPane.getViewport()。setOpaque(false)