Open-source improvements or replacements for Swing components

I develop a number of desktop Java applications using Swing, and while Swing is quite powerful (once you get the hang of it), there are still a lot of cases where I wish some advanced component was available right out of the box.

For example, I'd really like to see easy-to-use components (without writing them myself, which I could do given enough time) like:

  • Multi-line label
  • Windows File Explorer-like Icons or Thumbnails view
  • Drop-down button (like Firefox's old Back button)
  • 5-star rating widget
  • Combo box with automatic history (like the text field on Google)
  • An Outlook-style accordion-style bar
  • and so on

I know of a couple of sources of free Swing components, like SwingLabs, home of JXTable, JXDatePicker, and a few others.

Where do you go for Swing components beyond those included with Java itself?


Asked by: Steven254 | Posted: 21-01-2022






Answer 1

The following are worth a look:

Answered by: Tara470 | Posted: 22-02-2022



Answer 2

As for: "Windows File Explorer-like Icons or Thumbnails view"

They are built in in swing.

File explorer icons are accessed through FileSystemView class ( it is used by JFileChooser ) when the L&F is Windows of course.

FileSystemView.getFileSystemView();
Icon driveIcon = fsv.getSystemIcon( new File("C:\\"));

And the Thumbnails icon can be retrieved with the sun.com class that are discouraged by Sun

sun.awt.shell.ShellFolder getIcon( boolean largeIcon ) 

But this one may not perform very well some times ( due to native resources handling I think ).

Answered by: Jared319 | Posted: 22-02-2022



Answer 3

I know you can get an awesome wrapping labe and an accordion from javaswingcomponents, however they are not open source implementations.

Otherwise Jide and SwingX are great choices.

Answered by: Emma623 | Posted: 22-02-2022



Similar questions

java - I need to know the Big O time of my binary heap code and if there are improvements

I need to know what the Big O time of my binary heap code is, and how can I improve it? Here's the code: public static void CreateMaxHeap(int[] a) { for (int heapsize = 0; heapsize < a.Length; heapsize++) { int n, p; n = heapsize; while (n > 0) { p = (n - 1) / 2; if(a[n]>a[p]) Swap(a,n,p); n = p; ...


Java - DB2 Performance Improvements

We have a SELECT statement which will take approx. 3 secs to execute. We are calling this DB2 query inside a nested While loop. Ex: While(hashmap1.hasNext()){ while(hashmap2.hasNext()){ SQL Query } } Problem is, the outer While loop will execute approx. 1200 times and inner While loop will execute 200 times. Which means the SQL will be called 1200*200 = 240,000 times. Approx. each iteration of Outer...


java - Improvements to Joshua Bloch's Builder Design Pattern?

Back in 2007, I read an article about Joshua Blochs take on the "builder pattern" and how it could be modified to improve the overuse of constructors and setters, especially when an object has a large number of properties, most of which are optional. A brief summary of this design pattern is articled here [http://rwhansen.blogspot.com/2007/07/theres-builder-pattern-that-joshua.html]. I liked the idea, and have been...


java - How to track different performance improvements in different components of an application that might overlap?

So this is kind of a general question.Here is the problem: I am currently working on a project along with 5 other people. We have all been assigned different performance tuning projects within an application (Java EE). However we all need to report how much of an improvement did we really achieve compared to our original component. Now if we are all checking in our code at various times, how do we necessarily track...


java - Possible Improvements for String Validator?

Closed. This question is off-topic. It is not curre...


java - Attempting all possible pairs on a grid and keep a record for improvements to sides matches

Please go easy if I fail to explain anything. Basically I wish to find out how I can keep a record of swapping all points in a tetravex grid. [ref: http://gamegix.com/tetravex/game]. I've created the grid and added the tiles from a random solution. I can currently swap ONE pair of USER-generated tiles but cannot do this as an automatic process. How would one generally automate the process of swappin...


java - How use of == operator brings in performance improvements compared to equals?

In Effective JAVA by Joshua Bloch, when I was reading about static factory methods , there was a statement as follows The ability of static factory methods to return the same object from repeated invocations allows classes to maintain strict control over what instances exist at any time. Classes that do this are said to be instance-controlled. There are several reasons to write instance-cont...


java - What are the improvements of JGraphX vs JGraph 5

Closed. This question needs to be more focused. It ...


java - Reflection improvements to access field secret, when field type is unknown

I am learning about Security and looking at storing secrets in the clear. When I retrieve the contents of a private field, it returns an Object. My mal code correctly assumes and casts the Object as an int, however if I change/parse the field type from int secretInt = 42; to String secretInt = (new Integer(42).intValue()).tostring the Mal code fails miserably. EDIT:


standards - Checking Code For Potential Java 7/8 Improvements

Closed. This question does not meet Stack Overflow guid...






Still can't find your answer? Check out these amazing Java communities for help...



Java Reddit Community | Java Help Reddit Community | Dev.to Java Community | Java Discord | Java Programmers (Facebook) | Java developers (Facebook)



top