我有SVG文件实际上是空的,但是没有元素。我将通过添加元素在java代码中操作它。 SVG文件将插入滚动窗格中。问题是即使SVG文件实际上是空的,Scrollpane也不透明,即使我已经将它设置为透明。
这是SVG文件(我是从客户端获得的):
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
<svg version="1.1"
baseProfile="full"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:ev="http://www.w3.org/2001/xml-events">
id="chart"
width="1366px" height="768px" viewBox="0 0 1366 768" >
<defs>
<!-- some template here -->
</defs>
</svg>
这里是滚动窗格部分(canvasDiagram是SVGCanvas)。
// the instantiation part
canvasDiagram.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);
canvasDiagram.setURI(getClass().getResource("path to svg file").toString());
scrollPane = new JScrollPane(canvasDiagram){
{
setOpaque(false);
getViewport().setOpaque(false);
}
};
滚动窗格不是透明的,而是白色的。我试图插入带有透明jPanel的滚动窗格内容及其工作,因此我相信canvasDiagram的白色内容。你能帮我把canvasDiagram的空白部分真的透明吗?
答案 0 :(得分:1)
我发现设置带有alpha值的背景比设置isOpaque(false)
setBackground(new Color(0,0,0,0));