У меня есть файл 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 действительно прозрачной?
'transparnet.png'? Почему вы используете файл png? SVG или PNG? –
То есть сделать панель прокрутки прозрачной. Это своего рода работа. То, что я хотел сделать прозрачным, - canvasDiagram. Я отредактировал, так что может быть яснее – dieend
«Это ошибка в определении XML?» Для меня это звучит как ошибка в Java. BTW: [Не включать объявление DOCTYPE] (https://jwatt.org/svg/authoring/#doctype-declaration) – feeela