MindFusion.Diagramming for Java问题集锦(一):我可以在Web应用程序中使用吗? 

翻译|其它|编辑:吴园园|2019-08-19 11:52:49.780|阅读 32 次

概述:本文整理了用户在使用MindFusion.Diagramming for Java常见的问题,希望对您有所帮助。

MindFusion.Diagramming for Java(之前版本为JDiagram)为您图表的自定义以及个性化提供了多种不同选项。您能在多种外形、箭头以及色彩风格中选择。

简易的界面、丰富的事件与程序设置使编程变得快速简单。在不需要花费宝贵的时间进行调整与调试的情况下,您能快速方便地找到正确的属性以及建立正确的图表。该控制组件使您能将更多精力集中在您应用程序的架构上,而不是将精力消耗在编码以及优化上。

点击下载MindFusion.Diagramming for Java最新试用版

本文整理了用户在使用MindFusion.Diagramming for Java常见的问题,希望对您有所帮助。

问:我可以在SWT(标准窗口小部件工具包)应用程序中使用Java图表控件吗?

答: JDiagram是一个Swing组件,它可以使用SWT / AWT Bridge库嵌入到SWT应用程序中。创建并显示可滚动的DiagramView的最小SWT程序如下所示。

import java.awt.Frame;
import java.awt.Panel;

import javax.swing.JScrollPane;

import org.eclipse.swt.SWT;
import org.eclipse.swt.awt.SWT_AWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

import com.mindfusion.diagramming.DiagramView;

public class SwtApp
{
public static void main(String[] args)
{
// create SWT main window
Display display = new Display ();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
Composite composite = new Composite(shell, SWT.EMBEDDED | SWT.NO_BACKGROUND);

// add a Swing frame to the SWT composite control
Frame frame = SWT_AWT.new_Frame(composite);
Panel panel = new Panel(new java.awt.BorderLayout());
frame.add(panel);

// add a DiagramView to the Swing frame
DiagramView flowchart = new DiagramView();
JScrollPane scrollPane = new JScrollPane(flowchart);
panel.add(scrollPane);

// run the SWT event loop
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
display.dispose ();
}
}

请注意,Swing和SWT处理不同线程中的事件。因此,如果需要更新SWT用户界面以响应图事件,则必须使用Display.asyncExec或Display.syncExec方法运行SWT处理代码。如果需要更新图表以响应SWT事件,请使用SwingUtilities.invokeLater或SwingUtilities.invokeAndWait方法运行图表处理代码。有关线程同步和其他SWT / AWT Bridge提示的更多信息,请参阅eclipse.org上的Swing / SWT Integration主题。

问:我可以在Web应用程序中使用MindFusion的Java图表库吗?

答: JThere有几种方法可以在Web应用程序中使用JDiagram。

如果您需要让用户在网页上以交互方式编辑流程图和图表,您可以通过HTML applet标记加载控件。您可以创建自己的承载DiagramView实例的applet和其他Java Swing UI控件,也可以使用JDiagram.jar中包含的DiagramApplet类。下面的示例显示如何加载内置applet并将图事件处理程序附加到它。

<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>

如果只读流程图图像足以满足您的需求,您可以使用Diagram类生成图像,并将其保存为Web服务器提供的文件,或使用Java servlet作为html的源代码img标签将图像字节返回给浏览器。与生成的流程图图像一起,您可以使用HtmlBuilder类生成html imgmap对象,其区域元素对应于图中的项,其目标链接设置为DiagramItem对象的超链接属性。这种方法在JDiagram发行版中包含的JspSample项目中进行了演示,该项目展示了如何从JSP页面动态生成图表,并使用组件随附的自动图形布局算法进行排列。样本的摘录如下所示:

<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") %>

JDiagram在服务器端的另一个应用是使用PDFExporter类生成包含呈现为PDF图形对象的图元素的PDF文件。


教程持续更新中,感兴趣的朋友记得持续关注后续教程~

想要购买MindFusion.Diagramming for Java正版授权的朋友可以咨询慧都官方客服

更多精彩内容,敬请关注下方的微信公众号,及时获取产品最新资讯▼▼▼

图片2.jpg



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

文章转载自:MindFusion.Diagramming for Java https://www.mindfusion.eu/faq/jdiagram-web-application.html

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
MindFusion.Diagramming for Java

为您图表的自定义以及个性化提供了多种不同选项

在线客服 在线QQ 电话咨询
400-700-1020
反馈
在线客服系统
live chat