Skip to main content

SwingX Documentation

Table of Contents

JXButtonPanelSmart panel for displaying buttons in OS specific & local specific order
JXComboBoxEnhanced JComboBox supporting embedded tables, etc
JXDatePickerStandard date chooser component
JXEditorPaneEnhancements to JEditorPane
JXErrorDialogEnhanced standard error dialog
JXFindDialogStandard find dialog
JXGlassBoxDismiss on click & drop shadow functionality
JXHyperlinkExtends AbstractButton, adds action listener support
JXImagePanelDisplays an image
JXListAdds in place editing to JList
JXLoginDialogStandard Login Dialog
JXMonthViewDisplays a month calendar
JXPanelAdds translucency to the standard JPanel
JXRadioGroupSimplifies dealing with ButtonGroup & JRadioButton
JXStatusBarEnhanced status bar functionality
JXTableAdds filtering/sorting/highlighting/column hiding to JTable
JXTaskPaneContains actions and hyperlinks, provides "collapsing" functionality
JXTitledPanelTitle bar added to the JXPanel ala JGoodies
JXTreeEnhancements to JTree
JXTreeTableCombination of JTree & JTable



This component extends JComboBox by allowing any JComponent to be embedded in the popup. Some possible uses include an embedded JXTable, a color chooser popup, or some custom image popup.


A simple and very useful component that allows the user to either type in a date, or pick one from a dropdown.


The JXEditorPane contains several very interesting and useful extensions to it's JEditorPane counterpart. First, it adds support for self closing tags. While not strictly HTML 3.2 compliant, self closing tags (<br/>, for example) are common today. The JXEditorPane correctly reads HTML that contains these kinds of tags. As part of this work, it provides hooks to allow the developer to add logic to transform invalid HTML into valid HTML. In addition, it also provides pluggable support for HTML extensions. For example, one might create a special HTML tag <myImageTag> and have it associated with a JXImagePanel. In this way, when parsing the HTML, the JXEditorPane will create and embed a JXImagePanel in the document.





Though not novel, the JXHyperlink fills in an important gap for rich client applications. Essentially, the JXHyperlink is a button that supports mouse-over feedback (an underline is shown) and appears as a piece of text. The goal of this component is to look and feel like a hyperlink on any webpage.


While JLabel's and JButton's allow you to easily add images to your Swing applications, the JXImagePanel makes it trivially easy to add any BufferedImage or Icon to your Swing applications. If editable, it also provides a way for the user to change the image. In addition, the JXImagePanel provides many built in effects out-of-the-box, including Tiling, Scaling, Rotating, Compositing, and more



The JXLoginDialog and JXLoginPanel are easy to use components for creating and displaying attractive, informational and useful login screens. The JXLoginDialog provides an out-of-the-box login dialog that can be used with most applications. The JXLoginPanel is an embeddable component that handles the actual login process by using the classes in the org.jdesktop.swingx.auth package.


Perhaps one of the most novel and visually pleasing components in the SwingX toolkit, JXMonthView is a component that displays one or more calendar months on a canvas. As the JXMonthView component increases in size, more calendar months are displayed. This interesting component can be used in a standalone manner, or as part of a date chooser component. In fact, the JXDatePicker component uses the JXMonthView for it's drop down content.


JXPanel adds translucency and gradients to the original Swing JPanel. It is designed (as all of the SwingX components are) as a drop in replacement for existing JPanels. JXPanel is leveraged extensively throughout the SwingX code base, and can be used to accomplish some very interesting visual effects.






Titled panels are a common idiom in both rich client application development and in web development. The original titled panels were essentially an etched border with a title that surrounded a set of components. However, titled borders have a few drawbacks:

  1. They are not as visually pleasing as their web-tier counterparts
  2. They don't allow you to associate any other components with the title section
The JXTitledPanel component is designed...



Please Confirm