2011-08-30 23 views
3

実際に空のSVGファイルがありますが、まだ要素がありません。私は、要素を追加することによってjavaコードでそれを操作します。 SVGファイルがスクロールペインに挿入されます。問題はSVGファイルが実際に空であっても、スクロールペインは透明ではなくても透明です。 (canvasDiagramがSVGCanvasある)透明なSVGをJavaで透明にするには?

<?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> 

、ここでスクロールペインの一部である:ここで

は、SVGファイル(私はクライアントからそれを得た)です。

// 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

'transparnet.png'を設定するよりも信頼性の高い動作することがわかりましたか?なぜあなたはそこにpngファイルを使用していますか? SVGまたはPNG? –

+0

これは、スクロールペインを透明にするためです。それは回避策のようなものです。私が透明にしたかったのはcanvasDiagramです。私はそれを明確にするために編集しました – dieend

+0

"それはXML定義の不具合ですか?"私にとっては、これはJavaの障害のように思えます。 BTW:[DOCTYPE宣言を含まない](https://jwatt.org/svg/authoring/#doctype-declaration) – feeela

答えて

1

私はアルファ値と背景を設定することがisOpaque(false)

setBackground(new Color(0,0,0,0)); 
+0

は境界線だけを表示できますか?私はこれを使用して、国境も同様に消えた –

関連する問題