<Swing Dev> [9] Review request for 8136366 Add a public API to create a L&F without installation
Sergey Bylokhov
Sergey.Bylokhov at oracle.com
Wed Apr 6 10:40:45 UTC 2016
Looks fine.
On 01.04.16 18:19, Alexander Scherbatiy wrote:
>
> Hello,
>
> Could you review the updated fix:
> http://cr.openjdk.java.net/~alexsch/8136366/webrev.01
>
> The UnsupportedLookAndFeelException is thrown from the
> UIManager.createLookAndFeel(className) method for unsupported L&Fs.
>
> Thanks,
> Alexandr.
>
> On 01/04/16 18:14, Sergey Bylokhov wrote:
>> On 01.04.16 16:02, Alexander Scherbatiy wrote:
>>> I see the point that creating non installed system L&F may not have
>>> many sense.
>>
>> I guess we should thinking about supported/unsupported instead of
>> installed/non-installed.
>>
>>>
>>> One more use case that should be considered is using the
>>> createLookAndFeel(className) method with custom L&Fs.
>>>
>>> For example someone can have a list with L&F class names which
>>> includes both system and custom L&F.
>>> Using a class name he wants to check if the given L&F is supported.
>>> Does he need to install the custom L&F first?
>>> If no, he will need to handle L&Fs differently using
>>> UIManager.createLookAndFeel(className) for system L&Fs and reflection
>>> for custom.
>>
>> Is the new method a "shortcut" for:
>> - UIManager.setLookAndFeel("com.foo")
>> - laf = UIManager.getLookAndFeel();
>> - laf is used...
>> Then probably the new method should work symmetrically to
>> setLookAndFeel() and throw UnsupportedLookAndFeelException()? And if
>> the Laf will be created will means that its state is valid(like
>> uidefaults etc)
>>
>> Small notes:
>> - Should we specify the null behavior?
>> - It is unrelated to current fix, but I wonder why we call newInstance
>> for all incoming classes(we initialize the class and create the
>> instance), and then we cast this new object to LookAndFeel.
>>
>
--
Best regards, Sergey.
More information about the swing-dev
mailing list