翻譯|其它|編輯:吳園園|2019-08-19 11:52:49.780|閱讀 238 次
概述:本文整理了用戶在使用MindFusion.Diagramming for Java常見的問題,希望對您有所幫助。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
MindFusion.Diagramming for Java(之前版本為JDiagram)為您圖表的自定義以及個性化提供了多種不同選項(xiàng)。您能在多種外形、箭頭以及色彩風(fēng)格中選擇。
簡易的界面、豐富的事件與程序設(shè)置使編程變得快速簡單。在不需要花費(fèi)寶貴的時間進(jìn)行調(diào)整與調(diào)試的情況下,您能快速方便地找到正確的屬性以及建立正確的圖表。該控制組件使您能將更多精力集中在您應(yīng)用程序的架構(gòu)上,而不是將精力消耗在編碼以及優(yōu)化上。
點(diǎn)擊下載MindFusion.Diagramming for Java最新試用版
本文整理了用戶在使用MindFusion.Diagramming for Java常見的問題,希望對您有所幫助。
問:我可以在SWT(標(biāo)準(zhǔn)窗口小部件工具包)應(yīng)用程序中使用Java圖表控件嗎?
答: JDiagram是一個Swing組件,它可以使用SWT / AWT Bridge庫嵌入到SWT應(yīng)用程序中。創(chuàng)建并顯示可滾動的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用戶界面以響應(yīng)圖事件,則必須使用Display.asyncExec或Display.syncExec方法運(yùn)行SWT處理代碼。如果需要更新圖表以響應(yīng)SWT事件,請使用SwingUtilities.invokeLater或SwingUtilities.invokeAndWait方法運(yùn)行圖表處理代碼。有關(guān)線程同步和其他SWT / AWT Bridge提示的更多信息,請參閱eclipse.org上的Swing / SWT Integration主題。
問:我可以在Web應(yīng)用程序中使用MindFusion的Java圖表庫嗎?
答: JThere有幾種方法可以在Web應(yīng)用程序中使用JDiagram。
如果您需要讓用戶在網(wǎng)頁上以交互方式編輯流程圖和圖表,您可以通過HTML applet標(biāo)記加載控件。您可以創(chuàng)建自己的承載DiagramView實(shí)例的applet和其他Java Swing UI控件,也可以使用JDiagram.jar中包含的DiagramApplet類。下面的示例顯示如何加載內(nèi)置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服務(wù)器提供的文件,或使用Java servlet作為html的源代碼img標(biāo)簽將圖像字節(jié)返回給瀏覽器。與生成的流程圖圖像一起,您可以使用HtmlBuilder類生成html imgmap對象,其區(qū)域元素對應(yīng)于圖中的項(xiàng),其目標(biāo)鏈接設(shè)置為DiagramItem對象的超鏈接屬性。這種方法在JDiagram發(fā)行版中包含的JspSample項(xiàng)目中進(jìn)行了演示,該項(xiàng)目展示了如何從JSP頁面動態(tài)生成圖表,并使用組件隨附的自動圖形布局算法進(jì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") %>
JDiagram在服務(wù)器端的另一個應(yīng)用是使用PDFExporter類生成包含呈現(xiàn)為PDF圖形對象的圖元素的PDF文件。
教程持續(xù)更新中,感興趣的朋友記得持續(xù)關(guān)注后續(xù)教程~
想要購買MindFusion.Diagramming for Java正版授權(quán)的朋友可以。
更多精彩內(nèi)容,敬請關(guān)注下方的微信公眾號,及時獲取產(chǎn)品最新資訊▼▼▼
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: