P: ¿Puedo utilizar la biblioteca de diagramación Java MindFusion en una aplicación web?
R: JThere tiene varias maneras de utilizar JDiagram en aplicaciones web.
Si tiene que dejar que los usuarios editar diagramas de flujo y diagramas de forma interactiva en una página web, puede cargar el control a través de la etiqueta del applet HTML. Usted puede crear su propio applet que aloja una instancia de DiagramView y controles de interfaz de usuario de Java Swing adicionales o utilizar la clase DiagramApplet incluida en JDiagram.jar. El siguiente ejemplo muestra cómo cargar el applet incorporado y adjuntarle un controlador de eventos diagrama.
<applet id="jDiagApplet name="jDiagApplet" width="800" height="600" code="com/mindfusion/diagramming/DiagramApplet.class archive="JDiagram.jar" mayscript="mayscript"> <param name="NodeClicked" value="onNodeClicked"> </applet>
Si una imagen de diagrama de flujo de sólo lectura es suficiente para sus necesidades, usted puede usar la clase Diagram para generar una imagen, y, o grabarla como un archivo para ser servido por el servidor web, o usar un servlet Java como la fuente de una html img tag para retornar los bytes de la imagen al navegador. Jusnto con la imagen del diagrama de flujo generada, usted puede usar la clase HtmlBuilder para generar un objeto html imgmap cuyos elementos de área corresponden a los elementos del diagrama, y cuyos enlaces objetivo están cnfigurados a los atributos hyperlink de los objetos DiagramItem. Este enfoque está demostrado en el proyecto JspSample incluido en la distribución JDiagram, que muestra cómo generar diagramas dinámicamente desde una página JSP y organizarlos usando los algoritmos de disño gráfico automáticos que vienen con el componente. Un extracto del ejemplo se muestra acontinuación:
<jsp:useBean id="diagram" class="com.mindfusion.diagramming.Diagram" scope="session" /> <jsp:setProperty name="diagram" property="measureUnit" value="<%= GraphicsUnit.Pixel %>" /> <jsp:setProperty name="diagram" property="bounds" value="<%= new Rectangle2D.Float(0, 0, 600, 400) %>" /> <jsp:setProperty name="diagram" property="backBrush" value="<%= new SolidBrush(Color.white) %>" /> <jsp:setProperty name="diagram" property="selectAfterCreate" value="false" /> <img id="imgChart" src="ImageGen?id=diagram" usemap='#map'> <%= new HtmlBuilder(diagram).createImageMap("map") %>
Otra aplicación de JDiagram en el lado del servidor es usar la clase PDFExporter para generar archivos PDF conteniendo elementos de diagrama renderizados como objetos gráficos PDF.