There is a tutorial at Oracle for creating a Swing application in Jdeveloper 11, but when I tried to follow that in Jdeveloper 12 there was no 'Java application' under 'Swing/AWT' branch of gallery. Is JD12 no longer supporting Swing apps or the process has changed?
It bills itself as a free integrated development environment that simplifies the development of Java-based SOA and Java EE applications
so I guess your answer would be, no, they aren't helping you make Swing-based applications. But that doesn't mean you can't, J2SE has all you (basically) need for Swing and you'd have to write against it anyway.
JDeveloper 12c support Swing development - in fact it includes new features for Swing development including the Matisse layout from NetBeans.
Create a new application of type "Java Desktop Application" and you'll see the wizards that you need to visually build Swing in JDeveloper. It's under "Client Tier" category.
Related
I had a Java Desktop Application in which graphical user interface had designed in swing. After we came to know that JavaFX replacing Swing We have replaced graphical user interface with JavaFX.
"6. Is JavaFX replacing Swing as the new client UI library for Java
SE? Yes. However, Swing will remain part of the Java SE specification
for the foreseeable future, and is included in the JRE. On one hand,
Swing is widely used in existing Java desktop applications, but relies
on an old architecture, which requires a certain level of expertise
and specialization. On the other hand, JavaFX features a set of modern
UI controls that can be skinned using standard CSS techniques. While
we recommend developers to leverage JavaFX APIs as much as possible
when building new applications, it is possible to use Swing and JavaFX
within the same application, allowing developers to extend existing
Swing applications."
Now we heard that Oracle donate the JavaFX toolkit to the open source community and OpenJDK Community had agreed to take it on.
The JavaFX toolkit evolved from the F3 project at Sun. Initial
releases were based around the JavaFX scripting language, however, in
2011 the toolkit was completely rewritten in Java and released by
Oracle as JavaFX 2.0. In October 2011 Oracle announced that it would
donate the JavaFX toolkit to the open source community and by November
2011 the OpenJDK Community had agreed to take it on.
I do not think so JavaFX is stable. It has no quick support. Document are not enough explanatory. It does not release internal memory when stage is closed. My application is multithreaded application and most of time taken by my application in updating status of each individual thread. Self contained copy of JRE in native bundle does not reliable, we have to replaced it with JRE folder that resides into JDK.
It's really frustrating and I wonder, if JavaFX is fit to develop the Java Desktop application.
According to Oracle, JavaFX is a replacement for Swing:
http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6, question 6, says:
Is JavaFX replacing Swing as the new client UI library for Java SE?
Yes. However, Swing will remain part of the Java SE specification for the foreseeable future, and therefore included in the JRE. While we recommend developers to leverage JavaFX APIs as much as possible when building new applications, it is possible to extend a Swing application with JavaFX, allowing for a smoother transition.
Is JavaFX complete replacement of Swing?
I think that not,
most of components are halfsized in compare with Swing (price for development ???),
implementations in JavaFX8 (accesible with Java8) has one important point Swing JComponents could be accesible from JavaFX containers and JavaFX Components will be accesible in Swing JContainers (implemented in newer JavaFX2.2),
then JavaFX will be accesible for development of DeskTop applications
still question is if will be possible to add JavaFX TextArea together with Swing JTextArea in one JPanel or vice versa (Panel from xxx.scene.xxx)
more (the best infos, roadmap, development...) on FX Experience (notice occasionally is down :-)
Update as of 2020
JavaFX technology has been going quite well in the ensuing years after this Question was originally posted. Java is regularly released on its 6-month train schedule, and JavaFX releases have arrived at the same pace.
Oracle Corp. has completed the process of making JavaFX open-source, known as OpenJFX. The codebase is now housed as a sub-project on the OpenJDK project. Leadership has been assigned to the Gluon company, with Oracle’s continued support.
The popularity and community seem to be growing. The competitors have fallen away, such as Microsoft Silverlight and Adobe Flash both having died.
Oracle continues to support Swing as a required part of any Java SE implementation, but only in maintenance-mode. JavaFX, in contrast, is under constant active development.
Oracle sells support for JavaFX, as do other vendors such as Gluon and Azul Systems.
Some vendors supplying Java implementations bundle the JavaFX/OpenJFX libraries with their JVMs. These include Azul Systems with their ZuluFX product, and BellSoft with their LibericaFX product.
Though cutting-edge presently, there is work being done to build a native apps for iOS and other platforms using OpenJFX with ahead-of-time compilation using GraalVM.
Delivering a JavaFX desktop app is often done by bundling a JDK inside. This produces a “double-clickable” app. Bundling a JDK is more easily done by modularizing your code with JPMS. By leveraging JPMS, a developer can make use of the jlink and jpackage tooling.
See:
Java Client Roadmap Update by Oracle, 2020-05
JavaFX FAQ by Oracle
OpenJFX
JavaFX page on Wikipedia
OpenJDK wiki page for JavaFX
I want to develop a simple desktop application that connects to the Java DB , using Java Swing for the interface design.
I am new to Swing so I tried some tutorials on the net and came across
the Netbeans platform Swing components.
What is
the difference between the Java Swing architecture and the Netbeans Swing components?
Which one will be appropriate for developing interfaces
for desktop applications in Java?
From The NetBeans Platform:
The NetBeans Platform is a generic framework for Swing applications. It provides the "plumbing" that, before, every developer had to write themselves—saving state, connecting actions to menu items, toolbar items and keyboard shortcuts; window management, and so on.
It is an API built with Swing, that is supposed to provide some extra 'built-in' functionality. Since you need to know Swing to be able to use it. I suggest you concentrate on Swing for now.
Actually, it will be better to move on Intellij Idea from Jet Brains. It’s much more better than NetBeans IDE. Of course, it’s only my opinion.
Netbeans recently dropped support for Swing based Java Desktop Applications from version 7.1 onwards. Till that point I had always imagined that creation of Java Application User Interfaces would be cross platform. I thought that a Swing UI created in Netbeans designer could be easily understood and edited in Eclipse but apparently now I realize that it is not the case.
Is there a way to make the Java Application User Interface by not depending on IDE-specific Java UI designers? That is a form of UI description, can be XML or something that can be edited on the different IDEs that people would like to use.
That post starts..
I just installed NB 7.1 Beta, and tried to open one of our many Swing Application Framework-based applications, ..
OK. You can stop reading there, sounds like JSR 296 which has been dying for years. Pure Swing apps. should be fine.
I tried to create a new Swing GUI desktop application template using NetBean 7.0 and just found NetBean has a disclaimer:
"Note that JSR-296 (Swing Application Framework) is no longer developed and will not become part of the official Java Development Kit as was originally planned. You can still use the Swing Application Framework library as it is, but no further development is expected."
So does it mean swing will stay the same from now on and nothing new will be added? What will that impact the applications using Swing? Do I need to consider other GUI frameworks instead? What would be the best framework option for a scientific plotting and graphic heavy application?
Thanks.
Swing is part of JAVA since 1.2 and it is part of the JAVA STANDARD. It is not going anywhere any time soon.
The JSR-296 (Swing Application Framework) was a framework to simplify and help developing in swing, which didnt go very far. Netbeans uses it internally. If using JAVA 7 then, like many other netbeans specific libraries, you need to ship it separately with you app, because it is not standard.
So, feel free to develop in swing. A pure swing app WILL WORK on any JAVA STANDARD on almost any platform for a long time to come. If you use the SAF, thats also OK, but that is not standard and its pretty much dead, so just remember to ship the jar with your app.
Hope that clarifies the situation.
can we develop java frontend application just like we do in WPF? that runs on windows platform?
Of course, just use Swing or SWT.
of course you can use java also for frontend applications, those applications will require the java VM and will probably run in some platforms not only windows, this in general then depends on the details of your specific application.
Said so, I am not aware of libraries available in the Java world which would let you compose rich and advanced user interface like you can do with WPF.
Of course, Java can be used to create front-end applications that run not only on Windows, but on any operating system that has Java installed on it.
To create front-end GUIs, you could use either AWT(very old, not recommended), Swing or SWT(the latest addition to the Java GUI library by IBM).
XUI is an XML-based frontend development toolset for Java.
If you're looking for a ClickOnce equivalent, Java Web Start would be appropriate.
There are several GUI toolkits out there (as already mentioned by others), but they only provide the basic building blocks. (WPF also falls in this category, AFAIK.)
I recommend to build GUI application on top of a modular Rich Client Platform (RCP) such as the NetBeans Platform (Swing-based) or Eclipse RCP (SWT-based).
Here some links for the NetBeans Platform:
http://platform.netbeans.org/
http://netbeans.org/features/platform/features.html
http://netbeans.org/features/platform/all-docs.html
There´s a technology for desktop frontends from ADOBE called Adobe AIR.
It´s similar to WPF (it uses a variation of XML, in this case MXML), and has several rich components and effects!
Try it out at http://get.adobe.com/air/