Clarify Indeterminate or 3-Way Checkbox (Use FlatTriStateCheckBox for Boolean3WayEditor/Boolean3Inplace)
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 935
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 17
Description
### Description
The visual difference between a checked checkbox and one that is both checked and unchecked (such as in Properties where two objects are selected and for one object the property is true and for the other the property is false) is very small.
Checked:

Indeterminate (Both checked and unchecked):

The only difference is a very subtle background color shift.
FlatLaf is used throughout the code, and there is a related library called Flatlaf Extras which provides a class FlatTriStageCheckBox which renders a much more visually clear 3rd stage:

I suggest including Flatlaf Extras (https://mvnrepository.com/artifact/com.formdev/flatlaf-extras) as a dependency in addition to the base Flatlaf, and changing the Boolean3Inplace class (inside Boolean3WayEditor) which currently extends JCheckBox to extend FlatTriStageCheckBox instead in order to make this 3rd state much more clear.
### Use case/motivation
Avoid confusion on whether a checkbox is checked or indeterminate.
### Related issues
_No response_
### Are you willing to submit a pull request?
No
Contributor guide
Research direction
Locate Boolean3WayEditor and its Boolean3Inplace class, then inspect the existing FlatLaf dependency declaration. Compare the current JCheckBox implementation with FlatTriStageCheckBox from FlatLaf Extras and verify that the Properties UI clearly distinguishes checked and indeterminate states.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- design, desktop
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100