-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Theming] Minor errors with the color chooser UI #390
Comments
Thanks for the detailed notes. I'll need to finish first with converting the components (aka Flamingo) to the new direct rendering world, so it might take a couple more weeks until I can start looking into this. Can't promise much about the Xoetrope layout, as it's all hardcoded pixel-based values. Might be nice to consider how it can expand to more space, of course. |
Thanks. I don't really care about Xoetrope as I don't think my users would need that. A functional Reset button in the ColorWheelChooser is all I really need. |
* Move to 1x aware rendering for better visuals on high density displays * Use skin colors for border and outside fill * Use skin colors for ticks and draw them in one pass * Fix alignment of slider thumb For #390
* Move to 1x aware rendering for better visuals on high density displays * Use skin colors for borders For #390
Not sure about the "Reset" button yet. If I reset everything in every panel, that is quite destructive, losing all the changes in all the components in there. On the other hand, I do see the disconnect from the consistency perspective. |
"Reset" should be wired to reset all the panels now Adaptive layout for the Xoetrope panel is a nice to have, but a rather low priority. Closing this as the rest of the comments should be addressed with the latest changes that went into 6.0-SNAPSHOT |
Thank you. I need to localize the "OK", "Cancel", "Reset" buttons to a few languages you don't support. I haven't been able to figure out which java or properties files those values are coming from. Can you find them? I would be happy to contribute the localized text for those buttons (though not for everything in your code.) |
Never mind. I have located these constants in Swing: |
Yes, you can see them here - https://github.com/openjdk/jdk/blob/master/src/java.desktop/share/classes/javax/swing/JColorChooser.java#L682 Unfortunately that piece of code also means that I can't "take over" the layout of the button bar. I'd like to create some separation and put the reset button a bit further away from the other two buttons, as it's a destructive operation. But I don't see a way to do that in a custom look-and-feel. |
There are several minor errors with the color chooser UI. I'll list them all here but can create separate issues if you prefer.
The "Reset" button does not work as expected. It will change the color of the swatch at top, but does not reset the sliders or other items.
Colored sliders on the ColorWheelChooser and the ColorSliderChooser have strange borders. Could they be related to miscalculation for fractional scaling? (I'm using Windows 250%)![ColorWheelChooser](https://user-images.githubusercontent.com/89803685/176320121-256457c5-f9a9-4c78-8a88-810d869815b0.PNG)
In the ColorSliderChooser, the colors of the sliders do not always update when dragging other sliders. In one example picture, the Hue slider is red even though the chosen hue 81 is actually green. If you set Saturation to 0%, then when you change the hue slider, the color of the Saturation slider doesn't update.![HSB Sliders](https://user-images.githubusercontent.com/89803685/176320161-c1d89d0e-2c35-43ee-b087-e58c922a5afc.PNG)
![HSB Sliders 2](https://user-images.githubusercontent.com/89803685/176320163-3ea6ddc5-9ca8-4e45-b446-68e00117ed10.PNG)
The Xoetrope color chooser has poor use of layout. Some text is tiny. Layout doesn't change when the dialog size changes. Some translated versions have text too long to fit in the given space.
I personally only care about #1 (and care a little about #2) because I turn off other choosers using
UIManager.put("ColorChooser.defaultChoosers",
new String[] {ColorWheelChooser.class.getName(), SwatchesChooser.class.getName()});
I do that because I need to translate my program into 15 languages and don't want to translate all of that text. (Some is already translated but not everything in every language I need.)
I realize this is externally contributed code, but maybe a fix could be done anyway.
Environment:
Radiance 5.0 (and earlier versions. I think the "Reset" button worked better in very old versions.)
Theming
Java 11 (Corretto) Windows 10, High DPI monitor with scaling at 250%
The text was updated successfully, but these errors were encountered: