If your using the adapter with an empty javascript object then thats a no no.
Just use: new JavaAdapter(javax.swing.OverlayLayout); On Mar 3, 9:53 pm, Cameron McCormack <[email protected]> wrote: > [Reposted from m.d.t.js-engine where I mistakenly posted it first.] > > Hi. > > I want to, from script, extend a Java class that has no default > constructor. Specifically, I want to extend javax.swing.OverlayLayout > so that I can override some of its methods. I tried: > > Rhino 1.7 release 3 PRERELEASE 2009 03 04 > js> new JavaAdapter(javax.swing.OverlayLayout, { }) > Exception in thread "main" java.lang.NoSuchMethodError: > javax.swing.OverlayLayout: method <init>()V not found > at adapter1.<init>(<adapter>) > ... > > so obviously I need a way to provide a constructor in my class so that I > can call super and provide an argument. Is there a way I can do this, > or will I have to extend OverlayLayout from Java? > > Also, having the NoSuchMethodError quit the shell doesn't look good. > Maybe there can be a 'catch (NoSuchMethodError e)' at > src/org/mozilla/javascript/JavaAdapter.java:216 that throws some kind of > Exception. > > Thanks, > > Cameron > > [PS: Actually, after I misposted this originally in m.d.t.js-engine, I > realised that I don't actually want to extend OverlayLayout; I need to > call setAlignmentX() on the components in the container. But extending > a class with no default constructor is something I've wanted to do > before, so the question still remains.] > > -- > Cameron McCormack ≝http://mcc.id.au/ _______________________________________________ dev-tech-js-engine-rhino mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino
