<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
Tue May 17 16:47:36 UTC 2016
On 17.05.16 19:18, Phil Race wrote:
>> I do not really think this new API is a good candidate to be public.
>> The method which gets some unspecified name, then change it to some
>> other, and at the end support only bundled L&F... The user was not
>> able to get the list of built-in L&F. And at the same time the method
>> iterates over the list of the installed L&F which can be changed by
>> the user.
>
> No it does not. The user can only change the list returned
> by getLAFState() .. this is iterating over the immutable initial list.
> That is how I read it.
Right(but it is unclear how the user will get the correct "name" if the
list in getLAFState() was changed by app or by conf/swing.properties,
hardcore it?) and I am still not sure about other points, but since
there are no other objections, then ok +1.
>> On 17.05.16 19:10, Phil Race wrote:
>>> +1
>>>
>>> -phil.
>>>
>>> On 05/17/2016 08:13 AM, Alexander Scherbatiy wrote:
>>>>
>>>> Hello,
>>>>
>>>> Could you review the updated fix:
>>>> http://cr.openjdk.java.net/~alexsch/8136366/webrev.04
>>>>
>>>> The proposed UIManager.createLookAndFeel(name) method allows to
>>>> create only Java built-in L&Fs by the given L&F name.
>>>>
>>>> Thanks,
>>>> Alexandr.
>>>>
>>>> On 4/4/2016 11:17 PM, Phil Race wrote:
>>>>> +1
>>>>>
>>>>> -phil.
>>>>>
>>>>> On 04/01/2016 08:19 AM, 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