Menu

Progress of the components

Willem3141 Thom Castermans

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:

  • HTML is supported on most, but not all, widgets.
  • On many places the settings that the programmer configures, e.g. setBackground(), are simply ignored.
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.


Related

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

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.