Hello guys. I'm new here and I have a problem with the framework.
So I'm making a simple image viewer in Java and I'm using this framework. It's really cool but I get this error when I try to use the scale plugin.
I have imported the MarvinPluginCollection like this: "import marvin.MarvinPluginCollection;"
and I try to use the scaling plugin like this: "MarvinPluginCollection.scale(image.clone(), image, zoomLevel*image.getWidth(), zoomLevel*image.getHeight());"
I always get the above error though. What am I doing wrong?
java.io.FileNotFoundException: .\marvin\plugins\image\org.marvinproject.image.transform.scale.jar (The system cannot find the path specified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:219)
at java.util.zip.ZipFile.<init>(ZipFile.java:149)
at java.util.jar.JarFile.<init>(JarFile.java:166)
at java.util.jar.JarFile.<init>(JarFile.java:103)
at marvin.util.MarvinJarLoader.<init>(MarvinJarLoader.java:39)
at marvin.util.MarvinPluginLoader.loadPlugin(MarvinPluginLoader.java:54)
at marvin.util.MarvinPluginLoader.loadImagePlugin(MarvinPluginLoader.java:37)
at marvin.MarvinPluginCollection.checkAndLoadImagePlugin(MarvinPluginCollection.java:583)
at marvin.MarvinPluginCollection.scale(MarvinPluginCollection.java:465)
at jimageviewer.MainWindow.zoom(MainWindow.java:189)
at jimageviewer.MainWindow.zoomSliderStateChanged(MainWindow.java:140)
at jimageviewer.MainWindow.access88.25€(MainWindow.java:16)
at jimageviewer.MainWindow1.76€.stateChanged(MainWindow.java:56)
at javax.swing.JSlider.fireStateChanged(JSlider.java:432)
at javax.swing.JSlider$ModelListener.stateChanged(JSlider.java:350)
at javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:364)
at javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:302)
at javax.swing.DefaultBoundedRangeModel.setValue(DefaultBoundedRangeModel.java:168)
at javax.swing.JSlider.setValue(JSlider.java:531)
at jimageviewer.MainWindow.imagePanelMouseWheelMoved(MainWindow.java:130)
at jimageviewer.MainWindow.access264.74€(MainWindow.java:16)
at jimageviewer.MainWindow3.53€.mouseWheelMoved(MainWindow.java:67)
at java.awt.Component.processMouseWheelEvent(Component.java:6623)
at java.awt.Component.processEvent(Component.java:6307)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4891)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4554)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access441.23€(EventQueue.java:97)
at java.awt.EventQueue2.65€.run(EventQueue.java:709)
at java.awt.EventQueue2.65€.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue3.53€.run(EventQueue.java:731)
at java.awt.EventQueue3.53€.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at marvin.util.MarvinJarLoader.getClass(MarvinJarLoader.java:69)
at marvin.util.MarvinJarLoader.getObject(MarvinJarLoader.java:51)
at marvin.util.MarvinPluginLoader.loadPlugin(MarvinPluginLoader.java:55)
at marvin.util.MarvinPluginLoader.loadImagePlugin(MarvinPluginLoader.java:37)
at marvin.MarvinPluginCollection.checkAndLoadImagePlugin(MarvinPluginCollection.java:583)
at marvin.MarvinPluginCollection.scale(MarvinPluginCollection.java:465)
at jimageviewer.MainWindow.zoom(MainWindow.java:189)
at jimageviewer.MainWindow.zoomSliderStateChanged(MainWindow.java:140)
at jimageviewer.MainWindow.access88.25€(MainWindow.java:16)
at jimageviewer.MainWindow1.76€.stateChanged(MainWindow.java:56)
at javax.swing.JSlider.fireStateChanged(JSlider.java:432)
at javax.swing.JSlider$ModelListener.stateChanged(JSlider.java:350)
at javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:364)
at javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:302)
at javax.swing.DefaultBoundedRangeModel.setValue(DefaultBoundedRangeModel.java:168)
at javax.swing.JSlider.setValue(JSlider.java:531)
at jimageviewer.MainWindow.imagePanelMouseWheelMoved(MainWindow.java:130)
at jimageviewer.MainWindow.access264.74€(MainWindow.java:16)
at jimageviewer.MainWindow3.53€.mouseWheelMoved(MainWindow.java:67)
at java.awt.Component.processMouseWheelEvent(Component.java:6623)
at java.awt.Component.processEvent(Component.java:6307)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4891)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4554)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access441.23€(EventQueue.java:97)
at java.awt.EventQueue2.65€.run(EventQueue.java:709)
at java.awt.EventQueue2.65€.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue3.53€.run(EventQueue.java:731)
at java.awt.EventQueue3.53€.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)