From johan.vos at gluonhq.com Tue Aug 13 11:06:26 2019 From: johan.vos at gluonhq.com (Johan Vos) Date: Tue, 13 Aug 2019 13:06:26 +0200 Subject: Where to ask/discuss questions about using JavaFX Message-ID: Hi, Recently, the question has raised again about what tool should be used by JavaFX developers to discuss the *usage* (patterns etc) of JavaFX (not the JavaFX Platform development itself). There are a number of technologies facilitating discussions. Many people ask questions on StackOverflow, and many answer questions. However, we do not control the moderation of SO, and it's also not a great environment for discussions. The OpenJFX mailinlists and the issue trackers are great for discussions, but those should be limited to the JavaFX platform itself (i.e. not for asking best patterns for layout etc). This leads us to the question where such discussions (between JavaFX developers) should take place. There are a number of options: 1. A mailinglist (e.g. this one, openjfx-discuss, or another one) 2. Keep it on Stackoverflow 3. Gitter 4. A Slack channel 5. IRC 6. ? Since this is a discussion that comes back every now and then, it would be good to centralize the pro's and con's of the different options, and hopefully even to come to a conclusion. Note that this is not about an "official" JavaFX developer discussion forum. We just need a pragmatic approach where developers can discuss their questions and suggestions. While it is possible and very welcome of course for OpenJFX committers to be active in these discussions as well, it should mainly be driven by JavaFX developers. - Johan From org.openjdk at io7m.com Tue Aug 13 11:37:48 2019 From: org.openjdk at io7m.com (Mark Raynsford) Date: Tue, 13 Aug 2019 12:37:48 +0100 Subject: Where to ask/discuss questions about using JavaFX Message-ID: <20190813123748.29254a9f@almond.int.arc7.info> I've tried to remain impartial, although some of the pros/cons might be biased ("Only accessible via a web browser" might not be a con to some, for example). > This leads us to the question where such discussions (between JavaFX > developers) should take place. There are a number of options: > 1. A mailinglist (e.g. this one, openjfx-discuss, or another one) Pros: * Free (as in beer, and in speech) * Searchable, persistent history * Infrastructure controlled by JavaFX organization * Moderation controlled by JavaFX organization * Accessible without proprietary clients * Wide choice of clients (MUAs) Cons: * Not realtime-capable (no "chat") > 2. Keep it on Stackoverflow Pros: * Free (as in beer) * Searchable, persistent history * Accessible without proprietary clients Cons: * Infrastructure not controlled by JavaFX organization * Moderation not controlled by JavaFX organization * Moderation actively hostile (!) * Not realtime-capable (no "chat") * Only accessible via a web browser > 3. Gitter Pros: * Free (as in beer) * Searchable, persistent history * Moderation controlled by JavaFX organization * Accessible without proprietary clients * Accessible via any IRC client * Realtime-capable ("chat") * Accessible without extra accounts if you already have a GitHub, GitLab, or Twitter account. * GitHub integration (possibly only useful for developer discussion) Cons: * Infrastructure not controlled by JavaFX organization > 4. A Slack channel Pros: * Searchable, persistent history (with caveats) * Moderation controlled by JavaFX organization * Realtime-capable ("chat") * GitHub integration (possibly only useful for developer discussion) Cons: * Not free beyond a certain number of messages (access to history requires a paid subscription beyond 10,000 messages). * Infrastructure not controlled by JavaFX organization * Inaccessible without proprietary clients (web access via a notoriously heavyweight proprietary web application) > 5. IRC Pros: * Free (as in beer, and in speech, depending on the host) * Moderation controlled by JavaFX organization * Accessible without proprietary clients * Wide choice of clients * Realtime-capable ("chat") Cons: * No searchable, persistent history (unless running a logging bot counts) * Infrastructure (possibly) not controlled by JavaFX organization > 6. ? The other options such as Discord and similar applications seem to have similar pros/cons as Gitter and Slack depending on the business model of the company involved. I'm not sure there are any other options in active use. Pure web-based forums seem to be slowly dying in favour of the threaded models presented by the various Slack-likes. -- Mark Raynsford | http://www.io7m.com From org.openjdk at io7m.com Tue Aug 13 12:06:03 2019 From: org.openjdk at io7m.com (Mark Raynsford) Date: Tue, 13 Aug 2019 13:06:03 +0100 Subject: Gitter chat + StackOverflow [was: Concatenating transforms to scale positions but not objects] In-Reply-To: References: <20190806191142.7ae8aa54@almond.int.arc7.info> <20190810165156.4ce0fe8e@almond.int.arc7.info> <2504561f-a276-cd57-ec80-023afc452f8f@jugs.org> <20190811094722.2de65e8f@almond.int.arc7.info> <20190812142537.11aff83d@almond.int.arc7.info> <20190813113432.2f8a9812@almond.int.arc7.info> <1EE3A8C7-508B-4432-AC7F-7D7C84DEDFC4@gmail.com> Message-ID: <20190813130603.4f3a6d65@almond.int.arc7.info> (moved to openjfx-discuss) On 2019-08-13T06:49:18 -0500 Eric Bresie wrote: > They don?t appear to be rejecting it per say...It sounds like they just want clear and concise question with code snippets (apparently not a link to the code) added and what the desired behavior is. > Not to beat a dead horse, but that's exactly the problem: If the problem can't be phrased such that a straightforward trivial answer can be given, then the question is automatically deemed to be off-topic. The setup precludes any kind of lengthy discussion which may be required to work out what the actual underlying problem is. I've done as much as I can to work out my problem, but I need help from people who understand JavaFX better than I do. StackOverflow is clearly not suited to this kind of discussion. -- Mark Raynsford | http://www.io7m.com From fastegal at swingempire.de Tue Aug 13 15:36:47 2019 From: fastegal at swingempire.de (fastegal at swingempire.de) Date: Tue, 13 Aug 2019 17:36:47 +0200 Subject: Gitter chat + StackOverflow [was: Concatenating transforms to scale positions but not objects] In-Reply-To: <20190813130603.4f3a6d65@almond.int.arc7.info> References: <20190806191142.7ae8aa54@almond.int.arc7.info> <20190810165156.4ce0fe8e@almond.int.arc7.info> <2504561f-a276-cd57-ec80-023afc452f8f@jugs.org> <20190811094722.2de65e8f@almond.int.arc7.info> <20190812142537.11aff83d@almond.int.arc7.info> <20190813113432.2f8a9812@almond.int.arc7.info> <1EE3A8C7-508B-4432-AC7F-7D7C84DEDFC4@gmail.com> <20190813130603.4f3a6d65@almond.int.arc7.info> Message-ID: <20190813173647.Horde.VVKhtv0ZXPUSEwvWGdOmBg1@webmail.df.eu> Agreed: questions that require extensive discussion are off scope at SO (which is clearly stated in its question help pages). Just: Providing a good question is immenently important to get a good answer - that holds for questions of arbitrary complexity. 'nough off topic for me, hope we find a home for discussion-requiring questions Jeanette Zitat von Mark Raynsford : > (moved to openjfx-discuss) > > On 2019-08-13T06:49:18 -0500 > Eric Bresie wrote: > >> They don?t appear to be rejecting it per say...It sounds like they >> just want clear and concise question with code snippets (apparently >> not a link to the code) added and what the desired behavior is. >> > > Not to beat a dead horse, but that's exactly the problem: If the > problem can't be phrased such that a straightforward trivial answer can > be given, then the question is automatically deemed to be off-topic. The > setup precludes any kind of lengthy discussion which may be required to > work out what the actual underlying problem is. I've done as much as I > can to work out my problem, but I need help from people who understand > JavaFX better than I do. StackOverflow is clearly not suited to this > kind of discussion. > > -- > Mark Raynsford | http://www.io7m.com From philip.race at oracle.com Tue Aug 13 16:29:50 2019 From: philip.race at oracle.com (Phil Race) Date: Tue, 13 Aug 2019 09:29:50 -0700 Subject: Where to ask/discuss questions about using JavaFX In-Reply-To: References: Message-ID: <6dbc554b-c066-cf90-43b0-b33a5c85514a@oracle.com> A mailing list would (I think) be best but where to host it is tricky. I think we have been very tolerant of usage questions on the lists, and it has been manageable (low volume, reasonable questions) for 10 years. But I would not want to see openjfx-discuss endorsed as the place to go to ask newbie questions (and up) that aren't related to developing the platform itself. The openjdk projects and their mailing lists in general aren't used for that and if we tried to open up a mailing list for usage questions under openjdk I don't know how well that would go down with the openjdk admins etc. I also don't think we should either endorse or discourage usage of stackoverflow, although the signal to noise ratio there isn't as good as I'd like. If a mailing list is established it probably should have a name like "openjfx-forum" -phil. On 8/13/19 4:06 AM, Johan Vos wrote: > Hi, > > Recently, the question has raised again about what tool should be used by > JavaFX developers to discuss the *usage* (patterns etc) of JavaFX (not the > JavaFX Platform development itself). > > There are a number of technologies facilitating discussions. > Many people ask questions on StackOverflow, and many answer questions. > However, we do not control the moderation of SO, and it's also not a great > environment for discussions. > > The OpenJFX mailinlists and the issue trackers are great for discussions, > but those should be limited to the JavaFX platform itself (i.e. not for > asking best patterns for layout etc). > > This leads us to the question where such discussions (between JavaFX > developers) should take place. There are a number of options: > 1. A mailinglist (e.g. this one, openjfx-discuss, or another one) > 2. Keep it on Stackoverflow > 3. Gitter > 4. A Slack channel > 5. IRC > 6. ? > > Since this is a discussion that comes back every now and then, it would be > good to centralize the pro's and con's of the different options, and > hopefully even to come to a conclusion. > > Note that this is not about an "official" JavaFX developer discussion > forum. We just need a pragmatic approach where developers can discuss their > questions and suggestions. > While it is possible and very welcome of course for OpenJFX committers to > be active in these discussions as well, it should mainly be driven by > JavaFX developers. > > - Johan From nlisker at gmail.com Tue Aug 13 23:49:57 2019 From: nlisker at gmail.com (Nir Lisker) Date: Wed, 14 Aug 2019 02:49:57 +0300 Subject: Where to ask/discuss questions about using JavaFX In-Reply-To: <6dbc554b-c066-cf90-43b0-b33a5c85514a@oracle.com> References: <6dbc554b-c066-cf90-43b0-b33a5c85514a@oracle.com> Message-ID: To address some of the points made here: However, we do not control the moderation of SO, and it's also not a great > environment for discussions. > SO clearly states that the questions there should not be discussions as it's against the idea for what the site is for. So "not great" is an understatement :) Some broader questions, which are sometimes opinion-based, can be asked on the sister site SoftwareEngineering (SE) , but that too is not a place for full fledged discussions. 6. ? There is a JavaFX subreddit (https://www.reddit.com/r/JavaFX/), I'm not very active there, but I look at what's there every couple of months or so. It seems to take everything from questions (coding help like SO, design and architecture questions like SE, toolings and technologies suggestions like Software Recommendations etc.); links to news items, blog posts, mailing lists, personal projects, and videos; discussions about JavaFX itself like it's future... Basically, anything about JavaFX. It's not a very active subreddit currently - about a post every 2 days. > 2. Keep it on Stackoverflow > > * Not realtime-capable (no "chat") > StackExchange websites actually have chats . They keep full history, there is search and decent tools. You are free to open your own, in any language, and they are not closely moderated. See the FAQ . I also don't think we should either endorse or discourage usage > of stackoverflow, although the signal to noise ratio there isn't as good as > I'd like. > The signal to noise ratio on SO is a known and much discussed problem on Meta-SO. It leads to a lot of frustration from both askers and answerers. SO is meant for a small subset of programming question types (maybe 3 or 4) contrary to some belief that anything software related goes there. On Tue, Aug 13, 2019 at 7:31 PM Phil Race wrote: > A mailing list would (I think) be best but where to host it is tricky. > > I think we have been very tolerant of usage questions on the lists, > and it has been manageable (low volume, reasonable questions) for 10 years. > But I would not want to see openjfx-discuss endorsed as the place to go > to ask newbie questions (and up) that aren't related to developing the > platform itself. > > The openjdk projects and their mailing lists in general aren't used for > that and > if we tried to open up a mailing list for usage questions under openjdk > I don't > know how well that would go down with the openjdk admins etc. > > I also don't think we should either endorse or discourage usage of > stackoverflow, > although the signal to noise ratio there isn't as good as I'd like. > > If a mailing list is established it probably should have a name like > "openjfx-forum" > > -phil. > > On 8/13/19 4:06 AM, Johan Vos wrote: > > Hi, > > > > Recently, the question has raised again about what tool should be used by > > JavaFX developers to discuss the *usage* (patterns etc) of JavaFX (not > the > > JavaFX Platform development itself). > > > > There are a number of technologies facilitating discussions. > > Many people ask questions on StackOverflow, and many answer questions. > > However, we do not control the moderation of SO, and it's also not a > great > > environment for discussions. > > > > The OpenJFX mailinlists and the issue trackers are great for discussions, > > but those should be limited to the JavaFX platform itself (i.e. not for > > asking best patterns for layout etc). > > > > This leads us to the question where such discussions (between JavaFX > > developers) should take place. There are a number of options: > > 1. A mailinglist (e.g. this one, openjfx-discuss, or another one) > > 2. Keep it on Stackoverflow > > 3. Gitter > > 4. A Slack channel > > 5. IRC > > 6. ? > > > > Since this is a discussion that comes back every now and then, it would > be > > good to centralize the pro's and con's of the different options, and > > hopefully even to come to a conclusion. > > > > Note that this is not about an "official" JavaFX developer discussion > > forum. We just need a pragmatic approach where developers can discuss > their > > questions and suggestions. > > While it is possible and very welcome of course for OpenJFX committers to > > be active in these discussions as well, it should mainly be driven by > > JavaFX developers. > > > > - Johan > > From dalibor.topic at oracle.com Wed Aug 14 08:12:44 2019 From: dalibor.topic at oracle.com (Dalibor Topic) Date: Wed, 14 Aug 2019 10:12:44 +0200 Subject: Where to ask/discuss questions about using JavaFX In-Reply-To: <6dbc554b-c066-cf90-43b0-b33a5c85514a@oracle.com> References: <6dbc554b-c066-cf90-43b0-b33a5c85514a@oracle.com> Message-ID: On 13.08.2019 18:29, Phil Race wrote: > The openjdk projects and their mailing lists in general aren't used for > that and > if we tried to open up a mailing list for usage questions under openjdk > I don't > know how well that would go down with the openjdk admins etc. OpenJDK Projects can have multiple mailing lists (and many do). So from that perspective, adding an openjfx-users or openjfx-forum or openjfx-q-and-a or .. mailing list shouldn't be a problem. cheers, dalibor topic -- Dalibor Topic | Consulting Product Manager Phone: +494089091214 | Mobile: +491737185961 ORACLE Deutschland B.V. & Co. KG | K?hneh?fe 5 | D-22761 Hamburg ORACLE Deutschland B.V. & Co. KG Hauptverwaltung: Riesstr. 25, D-80992 M?nchen Registergericht: Amtsgericht M?nchen, HRA 95603 Komplement?rin: ORACLE Deutschland Verwaltung B.V. Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der Handelskammer Midden-Nederland, Nr. 30143697 Gesch?ftsf?hrer: Alexander van der Ven, Jan Schultheiss, Val Maher Oracle is committed to developing practices and products that help protect the environment From org.openjdk at io7m.com Thu Aug 15 14:25:05 2019 From: org.openjdk at io7m.com (Mark Raynsford) Date: Thu, 15 Aug 2019 15:25:05 +0100 Subject: Concatenating transforms to scale positions but not objects (the original question) Message-ID: <20190815152505.0feb31b9@almond.int.arc7.info> 'Ello. While a decision is being made as to where exactly to ask questions about JavaFX, I'd like to return to my original question because this is really looking to me like a bug in JavaFX, or some rather nasty limitation of the transform system. The reason for this is that the external/internal pane setup seems to cause almost everything involved to behave phenomenally badly (including external applications that traverse the scene graph like ScenicView). See the original gist: https://gist.github.com/io7m/20b071e11da2dcd96896a43fad6df644 I would like, as a polite challenge, for someone to have a go at, for example, placing a view (such as a button) inside any of the pane objects and making it fill the 128x128 space fully - perhaps by changing one of the panes to an AnchorPane and setting appropriate constraints. As far as I can tell, it can't be done. It seems that the transform setup is causing JavaFX to become confused at some fundamental level. It's almost as if the code responsible for doing the layout is not taking the transforms into account and so treats the space as if it were a 1x1 scene pixel area. The problem with this whole thing is that if I can't solve this problem, then the only apparent alternative for me is to express everything in my interface in terms of scene pixels and then _iterate over every object and manually change transforms every time anyone scrolls or zooms_. Being forced to do that would seem to suggest that something about the JavaFX scene graph is very much not fit for purpose here. Annoyingly, this would be a fairly trivial job if I just fell back to rendering with OpenGL/Vulkan directly with an orthographic projection (of course, then I'd have to do all my own input handling, so I'd rather not). -- Mark Raynsford | http://www.io7m.com From swpalmer at gmail.com Thu Aug 15 16:14:06 2019 From: swpalmer at gmail.com (Scott Palmer) Date: Thu, 15 Aug 2019 12:14:06 -0400 Subject: Concatenating transforms to scale positions but not objects (the original question) In-Reply-To: <20190815152505.0feb31b9@almond.int.arc7.info> References: <20190815152505.0feb31b9@almond.int.arc7.info> Message-ID: > On Aug 15, 2019, at 10:25 am, Mark Raynsford wrote: > > It's almost as if the code responsible for doing the layout is not > taking the transforms into account From swpalmer at gmail.com Thu Aug 15 16:17:06 2019 From: swpalmer at gmail.com (Scott Palmer) Date: Thu, 15 Aug 2019 12:17:06 -0400 Subject: Concatenating transforms to scale positions but not objects (the original question) In-Reply-To: <20190815152505.0feb31b9@almond.int.arc7.info> References: <20190815152505.0feb31b9@almond.int.arc7.info> Message-ID: <88447D23-C3B9-4EB2-ABFA-1B416ECD7888@gmail.com> "It's almost as if the code responsible for doing the layout is not taking the transforms into account ..." See the bottom of this: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/package-summary.html ?Visual Bounds vs. Layout Bounds? Scott > On Aug 15, 2019, at 10:25 am, Mark Raynsford wrote: > > 'Ello. > > While a decision is being made as to where exactly to ask questions > about JavaFX, I'd like to return to my original question because this > is really looking to me like a bug in JavaFX, or some rather nasty > limitation of the transform system. The reason for this is that the > external/internal pane setup seems to cause almost everything involved > to behave phenomenally badly (including external applications that > traverse the scene graph like ScenicView). > > See the original gist: > > https://gist.github.com/io7m/20b071e11da2dcd96896a43fad6df644 > > I would like, as a polite challenge, for someone to have a go at, for > example, placing a view (such as a button) inside any of the pane > objects and making it fill the 128x128 space fully - perhaps by changing > one of the panes to an AnchorPane and setting appropriate constraints. > As far as I can tell, it can't be done. It seems that the transform > setup is causing JavaFX to become confused at some fundamental level. > It's almost as if the code responsible for doing the layout is not > taking the transforms into account and so treats the space as if it > were a 1x1 scene pixel area. > > The problem with this whole thing is that if I can't solve this problem, > then the only apparent alternative for me is to express everything in my > interface in terms of scene pixels and then _iterate over every > object and manually change transforms every time anyone scrolls or > zooms_. Being forced to do that would seem to suggest that something > about the JavaFX scene graph is very much not fit for purpose here. > > Annoyingly, this would be a fairly trivial job if I just fell back to > rendering with OpenGL/Vulkan directly with an orthographic projection > (of course, then I'd have to do all my own input handling, so I'd > rather not). > > -- > Mark Raynsford | http://www.io7m.com > From org.openjdk at io7m.com Sat Aug 17 11:53:18 2019 From: org.openjdk at io7m.com (Mark Raynsford) Date: Sat, 17 Aug 2019 12:53:18 +0100 Subject: Concatenating transforms to scale positions but not objects (the original question) In-Reply-To: <88447D23-C3B9-4EB2-ABFA-1B416ECD7888@gmail.com> References: <20190815152505.0feb31b9@almond.int.arc7.info> <88447D23-C3B9-4EB2-ABFA-1B416ECD7888@gmail.com> Message-ID: <20190817125318.0f2dba3f@almond.int.arc7.info> On 2019-08-15T12:17:06 -0400 Scott Palmer wrote: > "It's almost as if the code responsible for doing the layout is not taking the transforms into account ..." > > See the bottom of this: > https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/package-summary.html > > ?Visual Bounds vs. Layout Bounds? Thanks! I was aware that visual bounds didn't necessarily equal layout bounds, but I didn't make the connection here. My thinking is that I need to, for the "internal" pane, determine the bounds of the external pane in the coordinate system of the component that contains the outermost group that applies the transform. In other words, given a hierarchy like this: Pane [x] + Group [transform] + Pane [externalA] + Pane [internalA] + Button + Pane [externalB] + Pane [internalB] + Button + Pane [externalC] + Pane [internalC] + Button The "transform" group applies my translation and scale so that, given a set of bounds in the composition coordinate space, the bounds and position are transformed to JavaFX scene pixels. A listener is added to the external panes (externalA, externalB, etc) that sets the preferred size of the internal panes (internalA, internalB, etc) to the size of the external panes but in scene pixels. In other words: objectExternalPane.layoutBoundsProperty().addListener((observable, oldValue, newValue) -> { final var sceneBounds = objectExternalPane.localToScene(newValue); objectInternalPane.setPrefSize(sceneBounds.getWidth(), sceneBounds.getHeight()); }); https://gist.github.com/io7m/cde1044a30caf9f8c8bdf69a0af22318 This appears to work correctly, although I'm not sure that localToScene() is actually what I want. What I want is "what size would this be in the coordinate space of x", not "what size would this be in the coordinate space of the scene". In this case, both x and the scene are using equivalent coordinate spaces, but I imagine this isn't guaranteed to be the case. -- Mark Raynsford | http://www.io7m.com