2011-08-30 1 views
3

У меня есть файл SVG, который на самом деле пуст, у которого еще нет элемента. Я буду манипулировать им в java-коде, добавив элемент. Файл SVG будет вставлен в scrollpane. Проблема в том, что даже файл SVG на самом деле пуст, Scrollpane не прозрачен, даже если я уже установил его прозрачным.Как сделать прозрачный SVG прозрачным в Java?

Вот файл 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

'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

можно показать только границы? потому что я использовал это, и границы также исчезли –

 Смежные вопросы

  • Нет связанных вопросов^_^