When comparing wxWidgets vs Java / Swing, the Slant community recommends wxWidgets for most people. In the question“What are the best cross-platform GUI toolkits?” wxWidgets is ranked 1st while Java / Swing is ranked 16th. The most important reason people chose wxWidgets is:
wxWidgets was started in 1992 by Julian Smart.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Mature
wxWidgets was started in 1992 by Julian Smart.
Pro Truly native look and feel
It uses the platform's native API rather than emulating the GUI.
Pro Open source
wxWidgets can be used for free or commercial projects, at no cost.
Pro Can do custom control rendering
You can make a custom renderer using the class wxDelegateRendererNative to draw directly any standard control or using the class BackgroundWindow to use any bitmap as a control background.
Pro Forms designers
Several forms designers, like wxFormBuilder, are available.
Pro Designer
A very nice designer: wxCrafter. Free for non-commercial use/evaluation phase (without time expiration). Highly recommended if you plan to use wxWidgets.
Pro Perfect combination: wxFormBuilder + ZeroBrane (wxLua)
Lua Language can provide extra high level scripting
Pro Can use Qt on X11
WxQt is available on X11.
Pro Part of Java
Swing is part of the Java API.
Pro Very good and powerful API
E.g. separate models.
Pro Powerful controls
E.g. JTable which works fine on every platform with very large row counts, e.g. 100.000+.
Pro Several look and feels available
Pro Easy to use
Drag and drop utility.
Cons
Con Android port not totally usable yet
See WxAndroid.
Con Uses GTK on X11
WxWidgets uses GTK+ on X11 desktop which well known for looking like an alien on non GTK+ desktops.
Con Has slightly heavy compiled result
Con Written in C++
Con Only for JRE-based languages
Con Bugfixes rely on Oracle
Con No real native look
Though the importance of the native look seems to have dropped the last years by the raise of in-browser-applications.
However, you can achieve native look and feel using UIManager.systemLookAndFeelClassName.
Con Severely deprecated
The system is ancient and Oracle has dropped support for it in favor of JavaFX
