From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25738 invoked by alias); 13 May 2017 17:13:23 -0000 Mailing-List: contact kawa-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: kawa-owner@sourceware.org Received: (qmail 25653 invoked by uid 89); 13 May 2017 17:13:22 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.3 required=5.0 tests=AWL,BAYES_00,KAM_COUK,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=H*r:smtp, powers, scene, pleasant X-HELO: avasout08.plus.net Received: from avasout08.plus.net (HELO avasout08.plus.net) (212.159.14.20) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 13 May 2017 17:13:20 +0000 Received: from bother.homenet ([95.146.110.234]) by avasout08 with smtp id KtDL1v00253UrwF01tDMyg; Sat, 13 May 2017 18:13:21 +0100 X-CM-Score: 0.00 X-CNFS-Analysis: v=2.2 cv=JPdLi4Cb c=1 sm=1 tr=0 a=7WUQkX1/pq/7ijAIbP9tNQ==:117 a=7WUQkX1/pq/7ijAIbP9tNQ==:17 a=kj9zAlcOel0A:10 a=xqWC_Br6kY4A:10 a=tJ8p9aeEuA8A:10 a=iYS03O8oAAAA:8 a=mDV3o1hIAAAA:8 a=ObWWlbqzXrqXUqt5OYoA:9 a=CjuIK1q_8ugA:10 a=evY6hTnsP-4A:10 a=AYR_nEl5p1wA:10 a=QV_Ra9ontut3K-cYvPUR:22 a=_FVE-zBwftR9WsbkzFJk:22 X-AUTH: cvine@:2500 Received: from bother.homenet (localhost [IPv6:::1]) by bother.homenet (Postfix) with ESMTP id 0C1572601A4; Sat, 13 May 2017 18:13:15 +0100 (BST) Date: Sat, 13 May 2017 17:13:00 -0000 From: Chris Vine To: kawa@sourceware.org, Per Bothner Subject: Re: javafx Message-ID: <20170513181314.4b597f08@bother.homenet> In-Reply-To: <17b033f0-3221-4750-ea80-0d780f5df760@bothner.com> References: <20170513135809.48e591f2@bother.homenet> <17b033f0-3221-4750-ea80-0d780f5df760@bothner.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-SW-Source: 2017-q2/txt/msg00060.txt.bz2 On Sat, 13 May 2017 09:30:35 -0700 Per Bothner wrote: > On 05/13/2017 05:58 AM, Chris Vine wrote: > > There seems to be a problem with the 'javafx-scene' macro in > > kawa-2.4. > > > > First, the example at > > https://www.gnu.org/software/kawa/Building-JavaFX-applications.html#idm139760384873792 > > fails to size the button correctly when compared with kawa-2.1.9. > > The same occurs with kawa-2.3 (I have not tested with kawa-2.2). > > This was a bug introduced here: > > 2016-06-26 Per Bothner > > * MakeScene.scm (MakeScene): Don't create Group until > actually needed. > > I checked in a fix, in both the master and kawa-2.4 branches. > > > kawa-2.3 works correctly (the buttons are correctly sized), whereas > > kawa-2.4 fails to run the code, with this error: > > > > Exception in Application start method > > java.lang.RuntimeException: Exception in Application start method > > at > > com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917) > > at > > com.sun.javafx.application.LauncherImpl.lambda$launchApplication$156(LauncherImpl.java:182) > > at java.lang.Thread.run(Thread.java:745) Caused by: > > java.lang.ClassCastException: java.util.ArrayList cannot be cast to > > javafx.scene.Node at > > gnu.kawa.javafx.MakeScene.build(MakeScene.scm:54) at > > javafx-test2.run(javafx-test2.kawa:10008) at > > gnu.kawa.javafx.KawaJavafxApplication.start(defs.scm:65) at > > com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$163(LauncherImpl.java:863) > > at > > com.sun.javafx.application.PlatformImpl.lambda$runAndWait$176(PlatformImpl.java:326) > > at > > com.sun.javafx.application.PlatformImpl.lambda$null$174(PlatformImpl.java:295) > > at java.security.AccessController.doPrivileged(Native Method) at > > com.sun.javafx.application.PlatformImpl.lambda$runLater$175(PlatformImpl.java:294) > > at > > com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) > > at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) at > > com.sun.glass.ui.gtk.GtkApplication.lambda$null$50(GtkApplication.java:139) ... > > 1 more > > I was able to reproduce it before, though only on the old 2.4 branch. > It seems to have gone away - though it might be JDK or other > environment issues. Let me know if you still experience it with the > kawa-2.4 branch. Of course, you could also switch to the master > (formerly 'invoke') branch; I doubt I'll make another 2.4.x release. I posted this mainly to alert you to the issue rather than needing a fix myself, as I use your binary distribution. Congratulations on the job you have done with kawa: I find that programming Java is not a pleasant experience (its like being in an Austin Powers time warp), so it is good to have something nice to program for on the JVM. As regards javafx I prefer to reproduce the kawa definition of javafx-application (which also injects javafx-stage) and KawaJavafxApplication directly into a separate importable file and build the scene myself rather than use the javafx-scene macro. Apart from anything else, javafx-defs aliases a random set of other definitions such as Button, Node and FlowPane which can clash with the user code's own imports (if any) and I find it easier to avoid javafx-scene altogether. But I came across the problem and thought I would let you know. Chris