// 获取渲染器实例
Renderer renderer = RendererFactory.getRenderer("swing");
// 设置绘图样式
setStyle("#FF0000", "#00FF00", 2); // 红色描边,绿色填充,2px线宽
renderer.
// 绘制图形
beginFrame();
renderer.drawCircle(100, 100, 50);
renderer.drawRectangle(50, 50, 100, 80);
renderer.endFrame(); renderer.
功能:设置绘图样式
参数:
示例:
setStyle("blue", "yellow", 3); renderer.
功能:绘制圆形
参数:
异常:
示例:
drawCircle(100, 100, 30); renderer.
new ShapeFactoryImpl();
ShapeFactory factory =
// 创建图形
createCircle(100, 100, 30);
Circle circle = factory.Rectangle rect = factory.createRectangle(50, 50, 100, 80);
// 使用图形
draw(renderer); circle.
功能:创建圆形
参数:
返回:Circle实例
异常:
示例:
createCircle(100, 100, 30); Circle circle = factory.
UndoManager undoManager = new UndoManager();
List<Shape> shapes = new ArrayList<>();
// 创建并执行命令
new AddShapeCommand(shapes, circle);
Command addCmd = executeCommand(addCmd);
undoManager.
// 撤销操作
if (undoManager.canUndo()) {
undo();
undoManager.
}
// 重做操作
if (undoManager.canRedo()) {
redo();
undoManager. }
new SwingRenderer();
SwingRenderer renderer = setGraphics(graphics2D); // 必须设置Graphics2D上下文
renderer.drawCircle(100, 100, 50); renderer.
new SVGRenderer();
SVGRenderer renderer = beginFrame();
renderer.drawCircle(100, 100, 50);
renderer.String svg = renderer.getSVG(); // 获取SVG字符串
new LegacyRendererImpl();
LegacyRenderer legacy = Renderer adapter = new LegacyRendererAdapter(legacy);
drawCircle(100, 100, 50); // 调用旧版实现 adapter.
// 使用Swing渲染器
Renderer swingRenderer = RendererFactory.getRenderer("swing");
// 使用SVG渲染器
Renderer svgRenderer = RendererFactory.getRenderer("svg");
UndoManager manager = new UndoManager();
// 执行命令
executeCommand(new AddShapeCommand(shapes, circle));
manager.
// 撤销
undo();
manager.
// 重做
redo(); manager.
beginFrame()
再开始绘制