사실 svg 를 data visualization 에 사용할 목적으로 사용하려 했는데, d3 로 하는 것이 나을 듯 하다.(d3 관련 자료)
lib-gwt-svg
gwt 에서 svg 를 사용하기 위해서 lib-gwt-svg 를 사용하면 된다.- lib-gwt-svg : lib-gwt-svg - a library to add SVG graphics to GWT applications - Google Project Hosting
Maven repository
ref. 1 를 보면 maven 으로도 제공한다고 한다.아래처럼 pom.xml 에 추가해주면 된다.
... <dependency> <groupId>org.vectomatic</groupId> <artifactId>lib-gwt-svg</artifactId> <version>[0.5.9,)</version> </dependency> </dependencies>[0.5.9,) 는 version >= 0.5.9 라는 이야기이다. ref.2 를 참고하자.
Sample source
아래 lib-gwt-svg 의 sample source 가 있다.- sample page : http://www.vectomatic.org/gwt/lib-gwt-svg-samples/lib-gwt-svg-samples.html
- sample source : laaglu/lib-gwt-svg-samples · GitHub
사용 예
// pom.xml
<dependency>
<groupId>org.vectomatic</groupId>
<artifactId>lib-gwt-svg</artifactId>
<version>[0.5.9,)</version>
</dependency>
</dependencies>
// *.gwt.xml <inherits name="org.vectomatic.libgwtsvg" />
// TestViewImpl.java
@UiField
HTMLPanel container;
private Presenter presenter;
public TestViewImpl() {
initWidget(ourUiBinder.createAndBindUi(this));
// Create a SVG document
OMSVGDocument doc = OMSVGParser.currentDocument();
// Create the root svg element
OMSVGSVGElement svg = doc.createSVGSVGElement();
svg.setViewBox(0f, 0f, 300f, 200f);
svg.getWidth().getBaseVal().newValueSpecifiedUnits(Style.Unit.PCT, 100);
svg.getHeight().getBaseVal().newValueSpecifiedUnits(Style.Unit.PCT, 100);
// Create a rect
OMSVGRectElement rect = doc.createSVGRectElement(5f, 35f, 50f, 20f, 4f, 4f);
rect.getStyle().setSVGProperty(SVGConstants.CSS_FILL_PROPERTY, SVGConstants.CSS_LIGHTGREEN_VALUE);
rect.getStyle().setSVGProperty(SVGConstants.CSS_STROKE_PROPERTY, SVGConstants.CSS_BLACK_VALUE);
svg.appendChild(rect);
container.getElement().appendChild(svg.getElement());
}
Reference
- lib-gwt-svg is now available on Maven central repository « vectomatic
- java - How do I tell Maven to use the latest version of a dependency? - Stack Overflow
댓글 없음:
댓글 쓰기