<AWT Dev> [8] Review request for CR 8006406: lightweight embedding in other Java UI toolkits
Anton V. Tarasov
anton.tarasov at oracle.com
Fri Feb 8 06:40:18 PST 2013
On 08.02.2013 18:30, Victor Dyakov wrote:
> On 08.02.2013 18:09, Anton V. Tarasov wrote:
>> Hi Sergey,
>>
>> On 08.02.2013 17:46, Sergey Bylokhov wrote:
>>> Hi, Anton.
>>> Who will create tests for this feature?
>>
>> I know that QA guys will definitely address it.
>
> Anton,
>
> Did you communicate it to someone in SQE? Did you have commitment?
Victor,
In response to their interest in this API, I gave them Mac bits for testing. However, I'm not aware
of the exact test plan. I may ask about it.
Thanks,
Anton.
>
> Thanks,
> Victor
>>
>>> Is it possible to add at least 1 simple test to regression ws?
>>
>> It's possible I think, but... taking into account some load with it (I'm to complete and submit
>> the fx part shortly), I'd prefer to put it to a separate task.
>> I have some local testcase (swingset2 embedded into javafx stage), but it's not in the form of a
>> reg test.
>>
>> Thanks,
>> Anton.
>>
>>>
>>> 08.02.2013 21:27, Anton V. Tarasov wrote:
>>>> Hi All,
>>>>
>>>> Please, review the changes for the CR: http://bugs.sun.com/view_bug.do?bug_id=8006406
>>>>
>>>> webrev: http://cr.openjdk.java.net/~ant/8006406/webrev.6
>>>>
>>>> It introduces sun.swing.JLightweightFrame class, aimed at lightweight embedding of Swing
>>>> components into java-based toolkits.
>>>> The primary target is JavaFX toolkit, however the class is not limited to this usage and the
>>>> API it provides is quite generic.
>>>>
>>>> Below I'm giving a link to the jfx side implementation. This implementation should not be
>>>> reviewed in this thread (it is in a pre-review phase),
>>>> it should just clarify how the introduced API is supposed to be used. Namely,
>>>> SwingNode.SwingNodeContent which implements
>>>> sun.swing.LightweightContent and forwards requests from sun.swing.JLightweightFrame to
>>>> NGExternalNode which does the rendering.
>>>>
>>>> webrev: http://cr.openjdk.java.net/~ant/RT-27887/webrev.1
>>>>
>>>> Some comments on the awt/swing part:
>>>>
>>>> - Only Win and Mac implementation is currently available, X11 will come lately.
>>>>
>>>> - Win implementation uses a heavyweight window behind the lightweight frame, while it is not
>>>> actually needed for lightweight embedding.
>>>> This is due to the architecture of the Win AWT peers which are strongly tight to the native
>>>> code, and it's not a trivial task to separate them.
>>>> On Mac the lightweight frame peer is truly lightweight, meaning that it doesn't create an
>>>> NSWindow object behind it. The Mac port LW abstraction
>>>> allows to override and substitute CPlatform* classes with their lightweight stubs.
>>>>
>>>> - LightweightFrame, among others, introduces two new methods - grabFocus() and
>>>> ungrabFocus(boolean). Ideally, these methods should go to
>>>> the super Window class where the grab API becomes public (which is a long-term project...).
>>>> Current host of the grab API is SunToolkit, which
>>>> now forwards the calls to LightweightFrame. This is necessary to intercommunicate with the
>>>> client when grab/ungrab happens on both sides.
>>>>
>>>> - Unresolved issues exist, like modal dialogs, d&d etc. They are to be addressed further.
>>>>
>>>> Thanks,
>>>> Anton.
>>>>
>>>
>>>
>>
>
More information about the awt-dev
mailing list