Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有自定义背景的JScrollPanel_Java_Swing_Applet_Jscrollpane - Fatal编程技术网

Java 具有自定义背景的JScrollPanel

Java 具有自定义背景的JScrollPanel,java,swing,applet,jscrollpane,Java,Swing,Applet,Jscrollpane,我正在尝试创建一个可滚动的菜单,其中包含一个项目 我想能够绘制一个自定义背景的滚动,并有它是固定的,当我之间的项目滚动 我用它来画背景 @Override protected void paintComponent(Graphics g) { super.paintComponent(g); if(background != null){ background.paintIcon(this,g); } }

我正在尝试创建一个可滚动的菜单,其中包含一个项目

我想能够绘制一个自定义背景的滚动,并有它是固定的,当我之间的项目滚动

我用它来画背景

@Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        if(background != null){
            background.paintIcon(this,g);
        }
    }
我的问题是,当我尝试将JScrollBar容器不透明度设置为false时,会得到一个白色背景

正如你所看到的,我希望背景和其他部分是相同的“表面”

知道是什么导致了这个问题吗


Jason是一个常见的问题。实际上,您不会“看到”JScrollPane,而是JScrollPane的视口。您需要在JScrollPane.getViewport()上执行所有GUI操作(或类似操作)


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

,我该怎么做?getViewPort().setOpac(false);谢谢你,我成功了。我说这是一只多么愚蠢的虫子!!!(你能编辑你的答案,让其他人在搜索帮助时看得更清楚吗?^^ ^当然,完成了;)这不是一个真正的错误,因为JScrollPane只是一个视口+1或2个滚动条。+1这里有一个相关的工具,可以用对比色绘制视口和视图。