You can use SWFObject that is in the wiki. You also can use LightWindow to
show SWFObject.
Look for SwfObject Javascript to make it to run and the examples.
Take care that this panel cannot be put in a modal Window, I tried and
failed.
Anyway I pasted below
public class SWFObject extends AbstractBehavior implements
IHeaderContributor {
private static final CompressedResourceReference SWFOBJECT_JS =
new CompressedResourceReference(SWFObject.class, "swfobject-2.1.js");
private static final long serialVersionUID = 1L;
private Map<String, String> parameters = new HashMap<String, String>();
private Map<String, String> attributes = new HashMap<String, String>();
private String version;
private String flashUrl;
private String width;
private String height;
private Component component;
@Override
public void bind(Component component) {
this.component = component;
component.setOutputMarkupId(true);
}
public void renderHead(IHeaderResponse response) {
response.renderJavascriptReference(SWFOBJECT_JS);
final String id = component.getMarkupId();
String parObj = buildDataObject(getParameters());
String attObj = buildDataObject(getAttributes());
// embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr,
swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj)
String js = String.format("swfobject.embedSWF('%s','%s', '%s', '%s',
'%s', '%s', %s, %s );",
flashUrl, id, width, height, version, "expressInstall.swf", parObj,
attObj);
response.renderJavascript(js, null);
}
/**
* Construct.
* <p/>
* version can be a string in the format of
'majorVersion.minorVersion.revision'.
* An example would be: "6.0.65". Or you can just require the major
version, such as "6".
*
* @param flashUrl The url of your swf file.
* @param width width of swf
* @param height height of movie
* @param version Flash version to support
*/
public SWFObject(final String flashUrl, final int width, final int height,
final String version) {
this(flashUrl, String.valueOf(width), String.valueOf(height), version);
}
/**
* Construct.
* @param flashUrl URL to load up for swf
* @param width width of swf
* @param height height of movie
* @param version Flash version to support
*/
public SWFObject(final String flashUrl, final String width, final String
height, final String version) {
if (flashUrl == null) {
throw new IllegalArgumentException("Argument [flashUrl] cannot be
null");
}
this.flashUrl = flashUrl;
this.width = width;
this.height = height;
this.version = version;
}
private String buildDataObject(Map<String,String> data) {
final String quote = "'";
final String comma=",";
if (data != null && !data.isEmpty()) {
StringBuilder result = new StringBuilder();
result.append("{");
for (Map.Entry<String, String> e : getParameters().entrySet()) {
result.append(quote).append(e.getKey()).append(quote + ":" +
quote).append(e.getValue()).append(quote).append(comma);
}
result.deleteCharAt(result.length() - 1);
result.append("}");
return result.toString();
}
return "{}";
}
@Override
public void onComponentTag(final Component component, final ComponentTag
tag) {
}
protected Map<String, String> getParameters() {
return parameters;
}
public void addParameter(String name, String value) {
parameters.put(name, value);
}
protected Map<String, String> getAttributes() {
return attributes;
}
public void addAttribute(String name, String value) {
attributes.put(name, value);
}
}
Here is a use of it
public class PanelforSwf extends Panel implements IResourceListener {
private static final long serialVersionUID = 14614407827489706L;
static final ResourceReference SWF_RESOURCE = new
ResourceReference(PanelPartido.class, "stadistic.swf" );
final SWFObject swf;
private String idInscripcion;
public PanelForSwf(String id, String width, String height) {
super(id);
String swfURL = RequestUtils.toAbsolutePath(
urlFor(SWF_RESOURCE).toString() );
add(swf = new SWFObject( swfURL, width, height, "9.0.0"));
}
public PanelForSwf(String id, IModel modeloInscripcion) {
this(id,"800","500");
}
@Override protected void onBeforeRender() {
swf.addParameter("param2", someparameter);
swf.addParameter("param1", someparameter);
super.onBeforeRender();
}
public void onResourceRequested() {
}
}
On Tue, Aug 18, 2009 at 10:41 PM, Gerald Fernando <
[email protected]> wrote:
> Nino sorry to say that i dont know that
> please tell me clear.
> if possible give some modal code
>
> Thanks&Regards,
> Gerald A
>
> On Tue, Aug 18, 2009 at 6:45 PM, nino martinez wael <
> [email protected]> wrote:
>
> > stuff the panel in to the modal window
> >
> > 2009/8/18 Gerald Fernando <[email protected]>:
> > > Hello Friends,
> > >
> > > Shall we have(embed) a swf in wicket component(Panel or in wicket
> page).
> > > I have swf that shows chart for dynamic data.
> > > i want to show my .swf file into wicket page or wicket panel
> > > if possible please give me modal code.
> > > I need urgent reply
> > >
> > > --
> > > Thanks®ards,
> > > Gerald A
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >
>
>
> --
> Thanks®ards,
> Gerald A
>
--
Fernando Wermus.
www.linkedin.com/in/fernandowermus