<Swing Dev> Focus on image icons are not visible in javaws cache with high contrast mode
Sean Chou
zhouyx at linux.vnet.ibm.com
Fri Nov 25 15:24:52 UTC 2011
Hi Pavel,
I have no idea about the regression before. Do you mean even in windows
LAF, the focus
color can be customized ? I was thinking it must stick to native LAF.....
On Thu, Nov 24, 2011 at 2:23 AM, Pavel Porvatov
<pavel.porvatov at oracle.com>wrote:
> Hi Sean,
>
> Hi Pavel,
>
> I rewrite a testcase, which is attached as TestButton.java . It has a
> toolbar and two buttons,
> one in toolbar and the other in contentpane. The one in toolbar use an
> image which is
> attached as testicon.png . I don't know how to write an automatic
> testcase for this one
> because it changes windows settings.
>
> Sometimes it's really hard to write automatic test. In your case SwingSet2
> demo and an appropriate instruction for testers is enough...
>
>
> Just run TestButton and change windows to high contrast mode and you
> can find the focus
> is not painted.
>
> I attached the patch in webrev.zip. It just checks if button
> background is black when
> windows properties changed. Please have a look.
>
> It seems your fix adds the following regression:
> somebody can install own "Button.focus" value, but your code puts own
> value over the users one
>
> Regards, Pavel
>
>
>
> On Sat, Oct 29, 2011 at 9:14 PM, Pavel Porvatov <
> pavel.porvatov at oracle.com> wrote:
>
>> Hi Sean,
>>
>>
>>
>> It seems the black color for focus is set intentionally. If we set it
>> to "ControlTextColor ",
>> the focus color may become red in above testcase, that's not what we want.
>> And I changed the color for all items listed with "3D object", the
>> focus remains black;
>> maybe windows just uses "black" for focus color in normal mode, and
>> another color for
>> high contrast mode.
>>
>> However, the original patch posted is not right in this scenario.
>> I'll modify it. How about
>> just uses white for high contrast mode ? As it simply uses black for
>> normal mode.
>>
>> I'm not sure you can determine if high contrast mode is set... Every
>> heuristic function for selection color can fail in some situation.
>>
>> If somebody can take a look at source of
>> ControlPaint::DrawFocusRectangle(Graphics, Rectangle) method (see
>> http://msdn.microsoft.com/en-us/library/k2czzc46.aspx) and find out
>> which colors uses .NET....
>>
>> Regards, Pavel
>>
>>
>> On Wed, Oct 26, 2011 at 11:12 PM, Pavel Porvatov <
>> pavel.porvatov at oracle.com> wrote:
>>
>>> Hi Sean,
>>>
>>> Hi Pavel,
>>>
>>> From your image, I agree the focus color is not always the same
>>> with ControlTextColor,
>>> but I cannot recreate it. When I changed color of "3D objects" to red,
>>> I got another image.
>>> Please have a look.
>>>
>>> It seems you changed Color1, but not Color (which a little bit lower
>>> then Color1)....
>>>
>>> I think your suggestion is reasonable, we'd better use the focus
>>> color from windows, but
>>> it maybe a problem to keep 100% the same, I still not found if there is
>>> a document for the
>>> focus color.
>>>
>>> Yes, the MS documentation about focus color is the best way to fix the
>>> bug. Can anybody point to such document?
>>>
>>> Regards, Pavel
>>>
>>>
>>> On Fri, Sep 16, 2011 at 7:06 PM, Pavel Porvatov <
>>> pavel.porvatov at oracle.com> wrote:
>>>
>>>> Hi Neil,
>>>>
>>>> On Thu, 2011-09-15 at 17:04 +0400, Pavel Porvatov wrote:
>>>>>
>>>>>> Hi Neil,
>>>>>>
>>>>>>> On Wed, 2011-09-14 at 14:14 +0800, Sean Chou wrote:
>>>>>>>
>>>>>>>> Hi Pavel,
>>>>>>>>
>>>>>>>>
>>>>>>>> I reported a bug there yesterday,
>>>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7089914
>>>>>>>> So far, I'm not sure if Windows use ControlTextColor, I'll check
>>>>>>>> it.
>>>>>>>>
>>>>>>>> For ease of review, I've uploaded Sean's change as a webrev [1].
>>>>>>>
>>>>>>> With the change, I see the following focus-related color settings in
>>>>>>> the
>>>>>>> WindowsLookAndFeel:
>>>>>>>
>>>>>>> Button.focus: ControlTextColor
>>>>>>> Checkbox.focus: ControlTextColor
>>>>>>> RadioButton.focus: ControlTextColor
>>>>>>> Slider.focus: ControlDarkShadowColor
>>>>>>> TabbedPane.focus: ControlTextColor
>>>>>>> ToggleButton.focus: ControlTextColor
>>>>>>>
>>>>>>> So the change of setting for Button, Checkbox and RadioButton
>>>>>>> conforms
>>>>>>> to what is already used for TabbedPane and ToggleButton.
>>>>>>>
>>>>>> But doesn't conform to Slider.focus...
>>>>>>
>>>>> Are you recommending that Slider.focus should be changed to
>>>>> ControlTextColor too ?
>>>>>
>>>> No, I meant that we cannot fix some bugs by copy-paste method.
>>>>
>>>>> From it's name, it's not entirely obvious to me that
>>>>>>>> 'ControlTextColor'
>>>>>>>>
>>>>>>> is really the ideal setting to use here, but it's also clear that
>>>>>>> it's a
>>>>>>> far better setting to use than the current hard-coded 'black'.
>>>>>>>
>>>>>> Yes, of course. The last question is which color is correct. We can't
>>>>>> change one incorrect color to another incorrect color...
>>>>>>
>>>>> I guess I hope that some knowledgeable person might be able to suggest
>>>>> /
>>>>> corroborate / refute the choice of setting here.
>>>>>
>>>>> It seems worse to consider sticking with a hard-coded, un-configurable
>>>>> value that has been demonstrated to cause problems, than to use a
>>>>> setting whose value can at least be configured, in practice fixes the
>>>>> problem's symptoms, and is already used in most other similar contexts
>>>>> within the same look& feel.
>>>>>
>>>>>
>>>>> Suggestions for how to improve things further are always welcome.
>>>>>
>>>> Your points sounds good. But as I said: we can't change one incorrect
>>>> color to another incorrect color (doesn't matter configurable it or not). I
>>>> attached the screenshot that shows that ControlTextColor is not always
>>>> equal to color of selection frame (to reproduce this image press the
>>>> Advanced button and change color of "3D objects" to red).
>>>>
>>>> Regards, Pavel
>>>>
>>>
>>>
>>>
>>> --
>>> Best Regards,
>>> Sean Chou
>>>
>>>
>>>
>>
>>
>> --
>> Best Regards,
>> Sean Chou
>>
>>
>>
>
>
> --
> Best Regards,
> Sean Chou
>
>
>
--
Best Regards,
Sean Chou
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20111125/72bf2890/attachment.html>
More information about the swing-dev
mailing list