Нужна помощь. Я пытаюсь создать изображение PNG из объекта org.eclipse.draw2d.IFigure
в среде без головы (пакет без интерфейса). Мне нужно приложение java как можно более простым.
import java.io.File;
import org.eclipse.draw2d.ChopboxAnchor;
import org.eclipse.draw2d.Connection;
import org.eclipse.draw2d.Figure;
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.Label;
import org.eclipse.draw2d.PolygonShape;
import org.eclipse.draw2d.PolylineConnection;
import org.eclipse.draw2d.RectangleFigure;
import org.eclipse.draw2d.ToolbarLayout;
import org.eclipse.draw2d.XYLayout;
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.draw2d.geometry.Rectangle;
public class GenealogyView {
public static void main(String[] args) {
new GenealogyView().run();
}
private void run() {
IFigure figure = createRootFigure();
File export = new File("export.png");
// export figure to export.png
// export code should go here
}
private IFigure createRootFigure() {
// Create a root figure and simple layout to contain
// all other figures
IFigure root = new Figure();
root.setSize(365, 280);
root.setLayoutManager(new XYLayout());
// Add the father "Andy"
IFigure andy = createPersonFigure("Andy");
root.add(andy, new Rectangle(new Point(10, 10), andy.getPreferredSize()));
// Add the mother "Betty"
IFigure betty = createPersonFigure("Betty");
root.add(betty, new Rectangle(new Point(230, 10), betty.getPreferredSize()));
return root;
}
private IFigure createPersonFigure(String name) {
RectangleFigure rectangleFigure = new RectangleFigure();
//rectangleFigure.setBackgroundColor(ColorConstants.lightGray);
rectangleFigure.setLayoutManager(new ToolbarLayout());
rectangleFigure.setPreferredSize(100, 100);
rectangleFigure.add(new Label(name));
return rectangleFigure;
}
}
На данный момент, в дополнение к JRE, я использую библиотеку org.eclipse.draw2d.jar
.
Заранее спасибо за идеи.