How to 'properly' extend javax.swing.JFrame with nashorn?
Christian MICHON
christian.michon at gmail.com
Tue Mar 3 11:39:01 UTC 2015
Hi Sundar,
thanks for the explanation. I was already doing what you suggested, and I
wanted to do it the way I'm used to (without "my." within a sub-class
extension).
Nevermind: nashorn is still a great tool.
On Tue, Mar 3, 2015 at 11:50 AM, A. Sundararajan <
sundararajan.athijegannathan at oracle.com> wrote:
> Are you looking for a way to introduce a new constructor? That is not
> supported. The class extension in nashorn is more like Java anonymous
> classes - There too you don't introduce a new constructor - just use
> existing constructor to construct new object.
>
> You can workaround with:
>
> function createMyFrame() {
> var my = Java.extend(.....) { ... }
> my.setSize(800, 600);
> my.visible = true;
> return my;
> }
>
> -Sundar
>
>
> Christian MICHON wrote:
>
>> Hi,
>>
>> [ I tried to contact Sundar directly (still no answer), but I'd like to
>> get
>> nashorn devs opinion as well. ]
>>
>> I'm currently trying to extend a javax.swing.JFrame to make a small gui
>> using nashorn.
>>
>> When I'm doing this with java or jruby, it's straight forward and quite
>> easy to code a contructor of the derived class to customize dimensions for
>> example.
>>
>> Yet with nashorn I'm struggling: how is named the constructor?
>>
>> I've a small snippet below to share: I'd like to know what is supposed to
>> be in place of XYZ to make frame appear properly (dimensions 800x600).
>>
>> var myJFrame = Java.extend(javax.swing.JFrame, {
>> XYZ: function() {
>> setSize(800, 600);
>> setVisible(true);
>> }
>> });
>> var my = new myJFrame();
>> java.lang.Thread.currentThread().join();
>>
>>
>> Thanks in advance.
>> Christian
>>
>>
>
>
--
Christian
More information about the nashorn-dev
mailing list