private ColorWheelPanel( ColorListener listener, boolean enableOpacity, boolean opacityInPercent) { setLayout(new BorderLayout()); setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 0)); myColorWheel = new ColorWheel(); add(myColorWheel, BorderLayout.CENTER); myColorWheel.addListener(listener); myBrightnessComponent = new SlideComponent("Brightness", true); myBrightnessComponent.setToolTipText("Brightness"); myBrightnessComponent.addListener( value -> { myColorWheel.setBrightness(1f - (value / 255f)); myColorWheel.repaint(); }); add(myBrightnessComponent, BorderLayout.EAST); if (enableOpacity) { myOpacityComponent = new SlideComponent("Opacity", false); myOpacityComponent.setUnits( opacityInPercent ? SlideComponent.Unit.PERCENT : SlideComponent.Unit.LEVEL); myOpacityComponent.setToolTipText("Opacity"); myOpacityComponent.addListener( integer -> { myColorWheel.setOpacity(integer.intValue()); myColorWheel.repaint(); }); add(myOpacityComponent, BorderLayout.SOUTH); } }