Open mgarin opened 6 years ago
JSplitPane
got a major update and is now fully supported by styling system.
WebBreadcrumb
got a major update and is now fully supported by styling system.
WebCollapsiblePane
and WebAccordion
got revamped and are now fully supported by styling system. Also all changes are now available in v1.2.9 update:
https://github.com/mgarin/weblaf/releases/tag/v1.2.9
JTabbedPane
revamp will become available in v1.2.10 [ #35 ]
JSlider
revamp will become available in v1.2.11 [ #493 ]
WebCustomTooltip
revamp will become available in v1.2.11 [ #520 ]
Updated information in the main post. I plan to finish all stuff planned on this issue by the time I get to v1.3.0. Also some of the components might stay backed by Swing UI implementations until project is moved to newer JDK as rewriting the UI might be unnecessary for those components in the first place.
JDesktopPane
, JInternalFrame
and JDesktopIcon
revamps have been pushed into master
branch and will be available in v1.2.10 update.
Added WebComponentPane
and WebOverlay
to the list of components for revamp.
Having WebSpinner and WebSlider with UI customization would be really great !
@mokun WebSpinner
is already fully customizable through style: spinner.xml
WebSlider
is not yet though, will be coming in either v1.2.11 or v1.2.12 update.
WebOverlay
now has brand new API, is properly styleable and it's code if fully documented.
Some of the existing components have to be "moved" to the new
Component
-UI
-Painter
structure with all classes (except base Swing components themselves likeJLabel
) having 100% WebLaF implementation. That is very important to avoid any unnecessary interference from Swing code, for instance from basic UI classes likeBasicButtonUI
and to allow multiple performance optimizations to be made (like removing unnecessary settings changes and/or listeners).Currently there only a few components left that haven't gone through major revamp and are still solely backed by UI class implementation:
JSlider
[ #493 ]JScrollBar
[ #555 ]JToolTip
[ #695 ]JMenuBar
[ #545 ]JTabbedPane
[ #35 ]JDesktopPane
[ #523 ]JInternalFrame
[ #523 ]JDesktopIcon
[ #523 ]WebCollapsiblePane
+WebAccordion
[ #494 ]JSplitPane
WebBreadcrumb
Some other components also still need major adjustments or even complete revamps:
WebComponentPane
[ #535 ]WebSwitch
[ #582 ]WebCustomTooltip
[ #520 ]WebColorChooserField
[ #586 ]WebPopOver
WebPathField
WebStepProgress
WebDecoratedImage
(possibly move functionality toWebImage
?)WebFileDrop
WebImageDrop
WebImageGallery
WebMemoryBar
[ #589 ]WebOverlay
[ #568 ]There are also quite a few components that are still using basic Swing UI classes instead of fully-custom WebLaF implementations, but which were already switched to new styling system:
JRootPane
JSpinner
JMenu
JMenuItem
JCheckBoxMenuItem
JRadioButtonMenuItem
JPopupMenu
JList
JTable
JTree
JComboBox
JTextField
JPasswordField
JFormattedTextField
JTextArea
JEditorPane
JTextPane
JToolBar
JScrollPane
JOptionPane
JColorChooser
Just to emphasize - these are components that are already fully styleable and work 100% correctly in the new versions. The only downside is the UI implementation that partially uses basic Swing UI which is quite dirty and does some unnecessary operations upon installation that are later overwritten by WebLaF anyway. While I do want to eventually get rid of all Swing UI implementations completely - it is a lot of work and it is quite low on priority list, so I'll only do it once necessary for some particular feature or improvement.
Eventually I will move all components to new UI implementations but they are already reasonably stable at this point which is why that task is not critical and low on priority list.