Skip to content

A nice color picker using Java Swing that contains a visual color selection and input boxes to enter RGB and HSB values manually.

License

Notifications You must be signed in to change notification settings

dheid/colorpicker

🎨 Java Swing Color Picker Dialog

Maven Central Java CI with Maven ko-fi

A nice color picker using Java Swing that contains a visual color selection and input boxes to enter RGB and HSB values manually:

  • Two color modes HSV and RGB
  • Includes an alpha selection
  • Determine color by hex code
  • Allows to select color by clicking on color wheel
  • Minimal dependencies (only SLF4J)
  • Compatible with Java versions since version 8
  • Well documented
  • Easy to use
  • Completely free and open source

Screenshot of color picker

🔧 Usage

Include the following dependency to your project:

<dependency>
  <groupId>org.drjekyll</groupId>
  <artifactId>colorpicker</artifactId>
  <version>2.0.1</version>
</dependency>

Use the class com.bric.colorpicker.ColorPicker as an entry point. You can easily initialize the panel using

ColorPicker colorPicker = new ColorPicker(true, true);
colorPicker.addColorListener(colorModel -> System.out.println(colorModel.getColor()));

This creates a color picker component with expert controls and opacity settings. If the user selects a color, the color listener will be notified.

🌐 Localization

The color picker supports localization. You can set the locale by passing it to the constructor:

ColorPicker colorPicker = new ColorPicker(true, true, Locale.FRENCH);
// or
ColorPickerDialog.showDialog(null, Color.GREEN, Locale.FRENCH);

Currently, the following languages are supported:

  • English
  • Español
  • Français
  • Deutsch
  • Português
  • Русский

🔨 Building

Please use Maven to build and test the project.

mvn install

This will install the version to your local repository. You can now include it:

<dependency>
    <groupId>org.drjekyll</groupId>
    <artifactId>colorpicker</artifactId>
    <version>1.4.4-SNAPSHOT</version>
 </dependency>

or Gradle with Groovy DSL:

implementation 'org.drjekyll:fontchooser:1.4.4-SNAPSHOT'

or Gradle with Kotlin DSL:

implementation("org.drjekyll:fontchooser:1.4.4-SNAPSHOT")

🤝 Contributing, Credits and History

Please see here: Contributing

This color picker was a part of the javagraphics project (http://javagraphics.blogspot.com), initiated by Jeremy Wood. The javagraphics project is a collection of small stand-alone projects.

The original color picker component is copyright 2011 by Jeremy Wood.

📜 License

This modification of the color picker is released under a BSD 3-Clause license. More details can be found here:

https://opensource.org/licenses/BSD-3-Clause

📢 Release Notes

2.0.1

1.4.8

1.4.5

Prevent NPE on resize (#26)

1.4.3 and 1.4.4

Fixed null-pointer exception on changing slider

1.4.2

  • Introduced Lombok
  • Migrated to JUnit 5
  • Updated dependencies and plugins
  • Migrated to GitHub