Problem bringing up More/Periodic Table panel

User 50ed9e02cc

21-07-2009 15:41:52

Hello,


We've built a Marvin Sketch applet using MSketchPane from the Marvin Beans package.  One problem I have is that trying to bring up the More/Periodic Table panel gives the exception below and the window doesn't show up.  The jar files are signed and the applet tag looks like this:


<applet code="com. ... .MyMSketchApplet.class"
        MAYSCRIPT
        archive="applets/msketch.jar,applets/MarvinBeans.jar,applets/aloe.jar"
        width=500 height=500>
</applet>


(Note that the reason that I'm not using the codebase attribute and instead preceding every jar file with "applets/"  is that this is the only way I was able to stop the applet from trying to find plugins.properties on my file system. But we can ignore this for now because unless it's related to the current problem.)


Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException
 at chemaxon.marvin.sketch.swing.SketchPanel.setMoreVisible0(Unknown Source)
 at chemaxon.marvin.sketch.swing.SketchPanel.setMoreVisible(Unknown Source)
 at chemaxon.marvin.sketch.swing.actions.ShowPeriodicSystemAction.actionPerformed(Unknown Source)
 at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
 at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
 at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
 at javax.swing.JToggleButton$ToggleButtonModel.setPressed(Unknown Source)
 at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
 at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
 at java.awt.Component.processMouseEvent(Unknown Source)
 at javax.swing.JComponent.processMouseEvent(Unknown Source)
 at java.awt.Component.processEvent(Unknown Source)
 at java.awt.Container.processEvent(Unknown Source)
 at java.awt.Component.dispatchEventImpl(Unknown Source)
 at java.awt.Container.dispatchEventImpl(Unknown Source)
 at java.awt.Component.dispatchEvent(Unknown Source)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
 at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
 at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
 at java.awt.Container.dispatchEventImpl(Unknown Source)
 at java.awt.Component.dispatchEvent(Unknown Source)
 at java.awt.EventQueue.dispatchEvent(Unknown Source)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
 at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
 at java.awt.EventDispatchThread.run(Unknown Source)


Thanks a lot for your attention to this matter.

User 50ed9e02cc

21-07-2009 16:15:55










malansari wrote:

Hello,


We've built a Marvin Sketch applet using MSketchPane from the Marvin Beans package.  One problem I have is that trying to bring up the More/Periodic Table panel gives the exception below and the window doesn't show up.  The jar files are signed and the applet tag looks like this:


<applet code="com. ... .MyMSketchApplet.class"
        MAYSCRIPT
        archive="applets/msketch.jar,applets/MarvinBeans.jar,applets/aloe.jar"
        width=500 height=500>
</applet>


(Note that the reason that I'm not using the codebase attribute and instead preceding every jar file with "applets/"  is that this is the only way I was able to stop the applet from trying to find plugins.properties on my file system. But we can ignore this for now because unless it's related to the current problem.)


Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException
 at chemaxon.marvin.sketch.swing.SketchPanel.setMoreVisible0(Unknown Source)
 at chemaxon.marvin.sketch.swing.SketchPanel.setMoreVisible(Unknown Source)
 at chemaxon.marvin.sketch.swing.actions.ShowPeriodicSystemAction.actionPerformed(Unknown Source)
 at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
 at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
 at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
 at javax.swing.JToggleButton$ToggleButtonModel.setPressed(Unknown Source)
 at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
 at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
 at java.awt.Component.processMouseEvent(Unknown Source)
 at javax.swing.JComponent.processMouseEvent(Unknown Source)
 at java.awt.Component.processEvent(Unknown Source)
 at java.awt.Container.processEvent(Unknown Source)
 at java.awt.Component.dispatchEventImpl(Unknown Source)
 at java.awt.Container.dispatchEventImpl(Unknown Source)
 at java.awt.Component.dispatchEvent(Unknown Source)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
 at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
 at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
 at java.awt.Container.dispatchEventImpl(Unknown Source)
 at java.awt.Component.dispatchEvent(Unknown Source)
 at java.awt.EventQueue.dispatchEvent(Unknown Source)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
 at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
 at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
 at java.awt.EventDispatchThread.run(Unknown Source)


Thanks a lot for your attention to this matter.




I've solved this problem by including forms-1.1.0.jar after getting a hint from another exception I got when I went to Help -> About.


What is the minimum required set of jar files that are needed for such an applet?


Also, since recent versions of MarvinBeans.jar are close to 10 MB, it is tempting to try to construct a smaller jar that contains only the required set of classes for the Marvin Sketch functionality.  Do you recommend such an approach?  If so, could you help by providing the set of required classes/packages?  Note that we are licensed for the Marvin Beans package.


Thanks a lot.

ChemAxon 909aee4527

22-07-2009 07:50:59

Dear malansari,


the best approach here would be to use the Marvin Applets package instead. The Marvin Beans package contains less bigger jar files while the applet package contains more smaller files. The beans package is not designed to be used as applets.


If you use the whole applet package, you will neither have the problem of finding the plugins.properties file.


Try downloading and installing the applet package (see installation instructions), and use the codebase tag so that all necessary jar files are loaded automatically when needed.


List of required resources: http://www.chemaxon.com/marvin/help/developer/resources.html


Applet download link: http://www.chemaxon.com/marvin/download-dev.html#marvinapplets


Applet installation instructions: http://www.chemaxon.com/marvin/det-download.html#marvinapplets


Example of creating an applet: http://www.chemaxon.com/marvin/examples/applets/sketch/embed.html


More applet examples: http://www.chemaxon.com/marvin/help/developer/index.html


Kind regards,
Judit