Java Swing has many UI elements. These must all be styled by creating a UI delegate. On this page we maintain an overview of the GUI components and our progress making them Oxygen-like. This is probably most useful for developers wanting to style their application using Joxy.
For previous versions of Joxy, we maintain an archive of which GUI components were supported at that time:
The progress outlined on this page concerns the version currently in Git.
General:
Component | UI delegate | Progress |
---|---|---|
JButton | JoxyButtonUI | Good, also toolbar buttons, animations and disabled state are supported, but buttons don't yet use the correct background colour from the KDE theme |
JCheckBox | JoxyCheckBoxUI | Good, also with animation |
JColorChooser | JoxyColorChooserUI | We are at the moment busy implementing a custom colour chooser that looks like KDE's |
JComboBox | JoxyComboBoxUI | Good, also scrolling through the combo box is working |
JEditorPane | JoxyEditorPaneUI | Good (but we have to fill the background with grey) |
JFileChooser | JoxyFileChooserUI | Reasonably: we use the normal Metal file chooser, but with Oxygen icons. We will start working on a custom, more KDE-like file chooser soon. |
JFormattedTextField | JoxyFormattedTextFieldUI | Same as JTextField |
JLabel | JoxyLabelUI | Good |
JList | JoxyListUI | Correct border, animations and "hover" state for elements |
JMenuBar | JoxyMenuBarUI | Good, but the highlight color is slightly wrong |
JMenuItem | JoxyMenuItemUI | Good, but menu items with check boxes or radio buttons are not yet supported |
JMenu | JoxyMenuUI | Works reasonably |
JOptionPane | JoxyOptionPaneUI | Good, and also uses Oxygen icons for error, warning etc. |
JPanel | JoxyPanelUI | Good |
JPasswordField | JoxyPasswordFieldUI | Same as JTextField |
JPopupMenu | JoxyPopupMenu | Works reasonably |
JProgressBar | JoxyProgressBarUI | Very good, this is done by looking at the native C++ code to see how Oxygen draws progress bars itself |
JRadioButton | JoxyRadioButtonUI | Good, also with animation |
JRootPane | JoxyRootPaneUI | This paints the radial background and works very well |
JScrollPane | JoxyScrollPaneUI | Good, with a highlight effect on hover |
JSlider | JoxySliderUI | Good |
JSpinner | JoxySpinnerUI | Good, arrow buttons are working and it is possible to use the scroll wheel to change the value |
JTabbedPane | JoxyTabbedPaneUI | Works reasonably, but not perfect and only for tabs on the top. Multiple tab runs are not supported in KDE, and thus ignored by us |
JTable | JoxyTableUI | Reasonably, the header is also working |
JTextArea | JoxyTextAreaUI | Good (but we have to fill the background with grey) |
JTextField | JoxyTextFieldUI | Works well, with a KDE-like clear button and animations |
JTextPane | JoxyTextPaneUI | Inherits from JoxyEditorPaneUI, works well |
JToggleButton | JoxyToggleButtonUI | Good, just like the JButton |
JToolBar | JoxyToolBarUI | Made it non-opaque, and buttons that are placed on the toolbar look different (no background painted), just as in KDE |
JTree | JoxyTreeUI | Correct border and background, further nothing done |
JViewport | JoxyViewportUI | Nothing done |
Elements not in this list have not been worked on yet and will probably look very ugly.
Wiki: Home
Wiki: Progress of the components 0.0.2
Wiki: Progress of the components 0.0.3
Wiki: Progress of the components 0.1.0
Wiki: Progress of the components 0.2.0