homebeaver / SwingSet

try to complete SwingSet3 org.swinglabs.swingx jars 1.6.6 for java 8 and openjdk 17 (Temurin)
GNU Lesser General Public License v2.1
0 stars 0 forks source link

Fea: replace default icons with nimbus painted #39

Closed homebeaver closed 1 year ago

homebeaver commented 1 year ago

As commented https://github.com/homebeaver/SwingSet/issues/23#issuecomment-1166306561 this are metal icons, most of them images

grafik

In nimbus all icons are painted

grafik

homebeaver commented 1 year ago

Die nimbus implementierungen sind in package javax.swing.plaf.nimbus und als final und nicht public definiert. Beispiele:

/**
 * Convenient base class for defining Painter instances for rendering a region or component in Nimbus.
 */
public abstract class AbstractRegionPainter implements Painter<JComponent> { ...
    protected static class PaintContext { ...

final class ArrowButtonPainter extends AbstractRegionPainter { ...

final class OptionPanePainter extends AbstractRegionPainter { ...

AbstractRegionPainterist zwar public, aber entält viele Teile die nicht sichtbar sind (PaintContext), also sich nicht einfach überschreiben lassen.

homebeaver commented 1 year ago

Zwischenergebnis:

Denn ...

homebeaver commented 1 year ago

TreePainter + FileChooserPainter :

man sieht, dass "Tree.leafIcon" und "FileChooser.fileIcon" sind gleich. Aber der Code wird nicht wiederverwendet! Dto für "Tree.closedIcon" und "FileChooser.directoryIcon".

grafik