<AWT Dev> [9] Review Request: 8074757 Remove java.awt.Toolkit methods which return peer types

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Fri Apr 3 17:15:05 UTC 2015


03.04.15 19:59, Phil Race wrote:
> HeadlessToolkit.java
>
>  321     @Override
>  322     @SuppressWarnings("deprecation") <<<=== We don't need this 
> any more do we ?
>  323     public FontPeer getFontPeer(String name, int style) {
>  324         if (componentFactory != null) {
>  325             return componentFactory.getFontPeer(name, style);
>  326         }
>  327         return null;
>  328     }
>
> I expect there are others like this that can be removed too that I 
> haven't spotted yet.
ComponentFactory.getFontPeer() is deprecated as before the fix, so I 
need to suppress the warning.

>
> > - The questionable moment is that I throw an AWTError in a some 
> places if a
> >  default toolkit not implements ComponentFactory interface.
>
> A current implementation of Toolkit that uses the peers isn't even 
> going to get so far
> as to receive this exception. If someone were to try to update their 
> Toolkit to no
> longer use the peers, would it be possible to support just the 
> 'headless' case, so
> that they'd be able to implement a headless toolkit without peers but 
> not a headful one ?
Yes, it is possible. But in this case the new AWTError will not occurs, 
because usually we checks the headless property in the constructor of 
the component.
for ex:
     public Button(String label) throws HeadlessException {
         GraphicsEnvironment.checkHeadless();
         this.label = label;
     }
>
> -phil.
>
> On 04/02/2015 08:15 AM, Sergey Bylokhov wrote:
>> Hello.
>> Please review the fix for jdk 9.
>> There are a number of public methods in the java.awt.Toolkit class, 
>> which reference the unsupported java.awt.dnd.peer and java.awt.peer 
>> interfaces.
>>
>> There is a decision to remove these references as described: 
>> http://mail.openjdk.java.net/pipermail/awt-dev/2015-February/008924.html
>> Changes description:
>>  - All such methods were moved from Toolkit.java to the 
>> ComponentFactory.java. Note that all our toolkits implement 
>> ComponentFactory interface.
>>  - HToolkit, HeadlessToolkit, SunToolkit were cleared because they 
>> have the same implementation of these methods as in ComponentFactory.
>>  - The questionable moment is that I throw an AWTError in a some 
>> places if a default toolkit not implements ComponentFactory interface.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8074757
>> Webrev can be found at: 
>> http://cr.openjdk.java.net/~serb/8074757/webrev.04
>>
>


-- 
Best regards, Sergey.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20150403/43754fca/attachment-0001.html>


More information about the awt-dev mailing list