如何在运行时语言中插入图像(Java)

问题描述 投票:3回答:1

我可以在我的Rcp应用程序中创建Birt报告但问题是我无法将图像添加到我的表数据(单元格数据)

图像的路径或位置位于“我的工作区”中。我的问题是如何为报告表中显示的图像设置路径或位置。我们有图像处理程序的SetURL方法,但它给出了一个错误

TextItemHandle cellData = null;
CellHandle contenCell = null;
contentCell = (CellHandle) tabledetail.getCells().get(0);
cellData = designFactory.newTextItem(value);
cellData.setContent(value.replace(" ", ""));
cellData.setProperty("canShrink", "false");

cellData.getPropertyHandle(StyleHandle.FONT_SIZE_PROP).setIntValue(10);

image = designFactory.newImage("");
image.setURL("platform:/plugin/com.****.reportgeneration/images/Information-icon.gif");
contentCell.getContent().add(cellData);   
contentCell.getContent().add(image);

全堆例外

org.eclipse.birt.report.engine.api.EngineException:运行报表时发生错误。 org.eclipse.birt.report.engine.api.impl.EngineTask.handleFatalExceptions(EngineTask.java:2375)org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:191)在org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)at com。****。reportgeneration.popup.actions.ModuleReportGeneration.createReportFolder(ModuleReportGeneration.java:465)at at com。****。reportgeneration.popup.actions.ModuleReportGeneration.access $ 0(ModuleReportGeneration.java:402)at com。****。reportgeneration.popup.actions.ModuleReportGeneration $ 1.run(ModuleReportGeneration.java:325)at at org.eclipse.jface.operation.ModalContext $ ModalContextThread.run(ModalContext.java:119)引起:org.mozilla.javascript.EvaluatorException:org.mozilla.javascript.DefaultErrorReporter.runtimeError中正则表达式(#1)后的无效标志(DefaultErrorReporter.java:77)org.mozilla.javascript.Pa中的org.mozilla.javascript.DefaultErrorReporter.error(DefaultErrorReporter.java:64) rser.addError(Parser.java:188)org.mozilla.javascript.Parser.addError(Parser.java:166)org.mozilla.javascript.Parser.reportError(Parser.java:223)atg.mozilla.javascript位于org.mozilla的org.mozilla.javascript.TarsStream.readRegExp(TokenStream.java:921)org.mozilla.javascript.Parser.reportError(Parser.java:203)的.Parser.reportError(Parser.java:210)。 javascript.Parser.primaryExpr(Parser.java:2798)org.mozilla.javascript.Parser.memberExpr(Parser.java:2406)org.mozilla.javascript.Parser.unaryExpr(Parser.java:2304)org.mozilla .javascript.Parser.mulExpr(Parser.java:2229)org.mozilla.javascript.Parser.addExpr(Parser.java:2213)org.mozilla.javascript.Parser.shiftExpr(Parser.java:2194)at org。 mozilla.javascript.Parser.relExpr(Parser.java:2169)org.mozilla.javascript.Parser.eqExpr(Parser.java:2141)org.mozilla.javascript.Parser.bitAndExpr(Parser.java:2130)org .mozilla.javascript.Parser.bitXorExpr(Parser.java:2119)org.mozilla.javascript.Parser.bitOrExpr(Pars er.java:2108)org.mozilla.javascript.Parser.andExpr(Parser.java:2097)org.mozilla.javascript.Parser.orExpr(Parser.java:2086)atg.mozilla.javascript.Parser.condExpr (Parser.java:2062)org.mozilla.javascript.Parser.assignExpr(Parser.java:2033)org.mozilla.javascript.Parser.expr(Parser.java:2012)org.mozilla.javascript.Parser。 statementHelper(Parser.java:1039)org.mozilla.javascript.Parser.nameOrLabel(Parser.java:1793)org.mozilla.javascript.Parser.statementHelper(Parser.java:1032)atg.mozilla.javascript.Parser .statement(Parser.java:901)org.mozilla.javascript.Parser.parse(Parser.java:540)org.mozilla.javascript.Parser.parse(Parser.java:478)org.mozilla.javascript。在org.eclipse.birt的org.mozilla.javascript.Context.compileString(Context.java:1332)的org.eclipse.birt上的Context.compileImpl(Context.java:2348)org.mozilla.javascript.Context.compileString(Context.java:1324) .report.engine.javascript.JavascriptEngine $ 3.run(JavascriptEngine.java:240)org.eclipse.birt.report.e位于org.eclipse.birt.report.engine.javascript.JavascriptEngine.compile的java.security.AccessController.doPrivileged(Native Method)中的ngine.javascript.JavascriptEngine $ 3.run(JavascriptEngine.java:1)(JavascriptEngine.java:236) org.eclipse.birt.report.engine.javascript.JavascriptEngine.compile(JavascriptEngine.java:1)位于org.eclipse.birt的org.eclipse.birt.core.script.ScriptContext.compile(ScriptContext.java:153)位于org.eclipse.birt.report.engine的org.eclipse.birt.report.engine.executor.ExecutionContext.evaluate(ExecutionContext.java:713)的.report.engine.executor.ExecutionContext.compile(ExecutionContext.java:779)位于org.eclipse.bport.report.engine.executor.ImageItemExecutor的org.eclipse.birt.report.engine.executor.ImageItemExecutor.handleURIImage(ImageItemExecutor.java:261)的.executor.ReportItemExecutor.evaluateString(ReportItemExecutor.java:297)位于org.eclipse.birt.report.engine.executor.ImageItemExecutor.execute(ImageItemExecutor.java:111)的.handleImage(ImageItemExecutor.java:214) org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java)中的rg.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43) :46)org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM) .java:65)atg.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM) .java:140)org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:111)org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM) .java:160)在org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.jav) a:26)atg.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM。在org.eclipse.birt.report.engine.layout.html.HTMLTableBandLM.layoutChildren(HTMLTableBandLM。在org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM。 java:70)org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)at org.eclipse.birt.report.engine.layout.html.HTMLRepeatHeaderLM.layoutChildren(HTMLRepeatHeaderLM。 java:46)org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStac) kingLM.java:70)atg.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout( HTMLAbstractLM.java:140)org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:111)org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes( HTMLInlineStackingLM.java:160)org.eclipse.birt.report.engport.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout( HTMLAbstractLM.java:140)位于org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren的org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70) HTMLStackingLM.java:26)在org.eclipse.bout.report.engine.html.HTMLAbstractLM.l上的org.eclipse.birt.report.engine.layout.html.HTMLRepeatHeaderLM.layoutChildren(HTMLRepeatHeaderLM.java:46) ayout(HTMLAbstractLM.java:140)位于org.eclipse.birt.report.engine.layout.html.HTMLPageLM的org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)。布局(HTMLPageLM.java:92)位于org.eclipse.birt.report.engine.api.impl.RunAndRenderTask的org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)。 doRun(RunAndRenderTask.java:181)

java birt
1个回答
1
投票
TextItemHandle nText = designFactory.newTextItem(null);
nText.setContentType(DesignChoiceConstants.TEXT_CONTENT_TYPE_HTML);
nText.setContent("<img src="+ "D:\\***Ws_16-11-18\\com.** (*.***.projectcreation\\icons\\sample.gif" + " />");
contentCell.getContent().add(nText);

这段代码适合我插入Image

© www.soinside.com 2019 - 2024. All rights reserved.