• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Liutauras Vilda
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

IDE tools for Java based GUIs

 
Ranch Hand
Posts: 115
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi, I used to do Windows Forms on Visual Studio and found designing a GUI extremely easy. I'm now trying to find something similar in the Java world so I can implement both a Windows client and a JSP browser based client. It seems to me Netbeans dropped support for this a while back, and the GUI components in either IntelliJ or MyEclipse aren't really visually appealing. And there just doesn't seem to be any tools other than Axure for designing front end. So are we really limited to hand crafting CSS / HTML / JSP for browser based front ends? And what do people use to design for non browser based regular Windows GUIs that are based on Java?
 
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I don't program a lot of GUIs so I'm not an expert, but for desktop applications written with JavaFX you can use JavaFX Scene Builder.
 
Mike Cheung
Ranch Hand
Posts: 115
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks. I need to spend some time to study it. But do I program in JavaFx in order to use SceneBuilder? Or JavaFx is just a jar I import in my regular Java code? Also can I use this to develop applications that run in the browser?
 
Jesper de Jong
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
JavaFX is a GUI library and framework for Java, not a separate programming language. It's included with Java 7 and 8. You can use it in applets that run inside a browser, but almost nobody programs Java applets anymore for browser-based applications. For web applications I think HTML5 and JavaScript are currently the best tools.
 
Mike Cheung
Ranch Hand
Posts: 115
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi so you mean no one use JavaFx anymore because the move is to HTML5? Is there anything JavaFx can do that I can't do in HTML5?
 
Jesper de Jong
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
No, that is not exactly what I said.

JavaFX is a library and framework for writing GUI applications in Java. You would use it if you for example want to write a desktop app in Java. You can also use it for applets (Java program which run inside the browser), but Java applets are not popular - mainly because Java in the browser has a bad reputation with regard to security, and people don't want to be bothered with installing the Java plug-in for their browser, etc.

The same thing is happening to Adobe Flash and Microsoft Silverlight. Flash was hugely popular until a few years ago. Adobe stopped developing Flash. Microsoft stopped developing Silverlight. Modern browsers now have very fast and efficient JavaScript interpreters, and JavaScript and HTML5 are now the dominant way to write web applications. People don't want things like Java, Flash and Silverlight anymore that require browser plug-ins.

That doesn't mean that JavaFX is not useful for anything. But I would not use it for web based applications.
 
Bartender
Posts: 322
24
Eclipse IDE Firefox Browser
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Mike,

If you are developing using Swing (web Applets or desktop JFrames), I've found the Eclipse WindowBuilder extension is very good and easy to use - https://www.eclipse.org/windowbuilder/

Cheers!
Chris
 
Mike Cheung
Ranch Hand
Posts: 115
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Jesper de Jong wrote:No, that is not exactly what I said.

JavaFX is a library and framework for writing GUI applications in Java. You would use it if you for example want to write a desktop app in Java. You can also use it for applets (Java program which run inside the browser), but Java applets are not popular - mainly because Java in the browser has a bad reputation with regard to security, and people don't want to be bothered with installing the Java plug-in for their browser, etc.

The same thing is happening to Adobe Flash and Microsoft Silverlight. Flash was hugely popular until a few years ago. Adobe stopped developing Flash. Microsoft stopped developing Silverlight. Modern browsers now have very fast and efficient JavaScript interpreters, and JavaScript and HTML5 are now the dominant way to write web applications. People don't want things like Java, Flash and Silverlight anymore that require browser plug-ins.

That doesn't mean that JavaFX is not useful for anything. But I would not use it for web based applications.


Thanks! So if I want to develop a desktop application program using Java, then JavaFX is the one to go. I use Netbeans as my IDE and I found the following. Not sure if it's the same as SceneBuilder. Will do some reading.
https://netbeans.org/features/java-on-client/javafx.html

If I want to do HTML 5 / JSP development as well, are there any IDEs or tools that offer a WYSIWYG editor? Basically I'm looking for a Visual Studio parallel for the Java world that allows me to design the front end for either desktop or web based applications.

Chris R Barrett wrote:If you are developing using Swing (web Applets or desktop JFrames), I've found the Eclipse WindowBuilder extension is very good and easy to use - https://www.eclipse.org/windowbuilder/


Thanks but Swing is going to be replaced by JavaFX, right?
 
Chris Barrett
Bartender
Posts: 322
24
Eclipse IDE Firefox Browser
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Mike Cheung wrote:Thanks but Swing is going to be replaced by JavaFX, right?



Yes, eventually. However, most of the systems I've worked with are still Swing based. And you can extend Swing apps with JavaFX. So, I don't see anything wrong with getting your feet wet with Swing.

Oracle's position on this topic:
http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6

Cheers!
Chris
 
Mike Cheung
Ranch Hand
Posts: 115
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Chris R Barrett wrote:Yes, eventually. However, most of the systems I've worked with are still Swing based. And you can extend Swing apps with JavaFX. So, I don't see anything wrong with getting your feet wet with Swing.

Oracle's position on this topic:
http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6

Cheers!
Chris


Chris thanks. I don't have a computer with me that I can install and run programs with at the moment. Only access to Internet through terminals. Will give this a try. Do you know if there are any support for JavaFX to keep the front end views synchronized with changes to a table like grid (implementation of this on the server end is not known yet) so whether the content or structure of the table is changed on the server side, the GUIs are updated automatically? I come across something called JTable but think this is for Swing only?
 
Chris Barrett
Bartender
Posts: 322
24
Eclipse IDE Firefox Browser
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Mike,

Yes, JTable is a Swing component. TableView is what you are looking for if using JavaFX - http://docs.oracle.com/javafx/2/ui_controls/table-view.htm

Regarding monitoring the server side for changes, that (I believe) is done with a monitor thread designed to monitor and report changes back to the tables through EventListeners. In Swing, there is the SwingWorker Class (http://docs.oracle.com/javase/tutorial/uiswing/concurrency/). In JavaFX, it's the Worker interface - http://docs.oracle.com/javafx/2/threads/jfxpub-threads.htm.

I do qualify that, though, by saying most of the systems I've worked on are smaller by design. If this is enterprise level, those with more experience in the forums might have a better solution. We've kind of gone off tangent from your original question.

Cheers!
Chris
 
Mike Cheung
Ranch Hand
Posts: 115
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Chris thanks. I think the Worker interface won't work. From what I can read it basically spawns off a separate Task or Service thread to do something and in this case I'd imagine it to be polling the table on the server end. What I need is a solution that can broadcast the events and updates happening on the server end to the front end GUIs. So this can be done either via MQ or Websocket. Just want to know if the native data binding would work on a server for multiple clients.
 
Ranch Hand
Posts: 33
Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
So what is the most appropriately tool to use for designing complicated standalone Java applications?
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic