On 04/03/2015 10:15 AM, Sergey Bylokhov wrote:
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.
It does not need to be deprecated. It can be 'undeprecated' It was
deprecated only because
it was the public Toolkit method that is now gone ..
> - 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;
}
So perhaps there's just a small adjustment needed in the case of where
we use createComponent() ??
-phil.
-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.